While-Løkker
while-løkker er det viktigste verktøyet for å håndtere ubestemt iterasjon, som er nyttig i situasjoner der antall iterasjoner ikke er kjent på forhånd, som å overvåke lagerbeholdning til de når en spesifikk terskel.
Se mens Alex demonstrerer hvordan du bruker while-løkker for å håndtere dynamiske situasjoner:
En while-løkke i Python kjører kontinuerlig en kodeblokk så lenge en spesifisert betingelse forblir True.
Syntaks
For å starte en while-løkke, definerer du en teller variabel og følger den med while-nøkkelordet og en boolsk betingelse. Betingelsen etterfølges av et kolon :, som indikerer starten på løkkens kodeblokk.
Løkken vil utføres gjentatte ganger til betingelsen blir False. Vanligvis oppdateres tellervariabelen inne i løkken for til slutt å gjøre betingelsen False og stoppe løkken.
Ta denne while-løkka som et eksempel:
1234567891011# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
I dette eksempelet fungerer queue_length som vår tellevariabel, som starter på 5. Med hver iterasjon av løkken reduseres verdien av queue_length med 1 til den når 0. Da avsluttes løkken fordi betingelsen 0 > 0 evalueres til False.
Merk
Det er avgjørende å oppdatere tellevariabelen inne i løkken for til slutt å møte betingelsen for å stoppe løkken. Uten dette vil løkken kjøre uendelig, og forhindre at annen kode kjører.
Eksempelapplikasjon
Tenk deg at du administrerer melkebeholdningen i en dagligvarebutikk. Du må sørge for at beholdningen ikke faller under et visst nivå, og når den gjør det, bør du fylle på for å opprettholde beholdningsnivået.
En while-løkke er nyttig i denne situasjonen fordi den lar deg fylle på melk i trinn over flere iterasjoner til beholdningen når ønsket nivå. Uten en while-løkke må du beregne den nøyaktige mengden melk som skal fylles på alt på en gang.
For eksempel, vurder at en butikkarbeider kun kan fylle på en fast mengde melk i én tur (f.eks. 20 pakker per påfylling). Hvis beholdningen ikke er fullstendig fylt opp, returnerer arbeideren til lageret for å hente en ny batch med melk.
123456789101112131415161718# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
Merk
milk_stock += restock_quantityer ekvivalent medmilk_stock = milk_stock + restock_quantity. Det er rett og slett en mer konsis og lesbar måte å uttrykke den samme operasjonen på.
Flytskjemaet ovenfor illustrerer logikken bak while-løkken som brukes for å håndtere melkeinventaret. Legg merke til hvordan tellervariabelen milk_stock, som starter på 15, økes med restock_quantity for hver løkkeiterasjon.
Løkken fortsetter å kjøre til milk_stock overgår min_stock terskelen på 50, på hvilket tidspunkt den stopper.
Swipe to start coding
Administrer en dagligvarebutikks inventar ved å bruke while-løkker for å sikre at Bread, Eggs og Apples oppfyller sine minimumslager nivåer. Påfyllingsmengder er lagret i en ordbok.
- Bruk en
while-løkke for å sjekke om"Bread"er under sitt minimumslager. Hvis ja, øk lageret ved å bruke den tilsvarende påfyllingsmengden fra ordboken. - Gjenta den samme logikken for
"Eggs"og"Apples", hver med sin egenwhile-løkke. - Etter påfylling, gå gjennom
inventory-ordboken ved å brukefor-løkken og skriv ut de endelige lager nivåene for alle varer.
Utdata Krav
- For hver påfylte vare, skriv ut:
"<Item> stock is low: <$current_stock> units. Restocking..." - Etter all påfylling, skriv ut
Final Inventory after restocking:etterfulgt av de oppdaterte lager nivåene:
"<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)" - Sett inn en ny linje før det endelige inventaret ved å bruke
\n. - Bruk f-strings for formatering og enkelt anførselstegn inne i dobbelt anførselstegn for ordbok nøkler.
Merk
For å unngå syntaks konflikter i f-strings, bruk dobbelt anførselstegn rundt strengen og enkelt anførselstegn inne:
f"Bread stock is low: {inventory['Bread'][0]} units."
Bruk\nfor å starte en ny linje i utdata:"First line.\nSecond line."
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 2.17
While-Løkker
Sveip for å vise menyen
while-løkker er det viktigste verktøyet for å håndtere ubestemt iterasjon, som er nyttig i situasjoner der antall iterasjoner ikke er kjent på forhånd, som å overvåke lagerbeholdning til de når en spesifikk terskel.
Se mens Alex demonstrerer hvordan du bruker while-løkker for å håndtere dynamiske situasjoner:
En while-løkke i Python kjører kontinuerlig en kodeblokk så lenge en spesifisert betingelse forblir True.
Syntaks
For å starte en while-løkke, definerer du en teller variabel og følger den med while-nøkkelordet og en boolsk betingelse. Betingelsen etterfølges av et kolon :, som indikerer starten på løkkens kodeblokk.
Løkken vil utføres gjentatte ganger til betingelsen blir False. Vanligvis oppdateres tellervariabelen inne i løkken for til slutt å gjøre betingelsen False og stoppe løkken.
Ta denne while-løkka som et eksempel:
1234567891011# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
I dette eksempelet fungerer queue_length som vår tellevariabel, som starter på 5. Med hver iterasjon av løkken reduseres verdien av queue_length med 1 til den når 0. Da avsluttes løkken fordi betingelsen 0 > 0 evalueres til False.
Merk
Det er avgjørende å oppdatere tellevariabelen inne i løkken for til slutt å møte betingelsen for å stoppe løkken. Uten dette vil løkken kjøre uendelig, og forhindre at annen kode kjører.
Eksempelapplikasjon
Tenk deg at du administrerer melkebeholdningen i en dagligvarebutikk. Du må sørge for at beholdningen ikke faller under et visst nivå, og når den gjør det, bør du fylle på for å opprettholde beholdningsnivået.
En while-løkke er nyttig i denne situasjonen fordi den lar deg fylle på melk i trinn over flere iterasjoner til beholdningen når ønsket nivå. Uten en while-løkke må du beregne den nøyaktige mengden melk som skal fylles på alt på en gang.
For eksempel, vurder at en butikkarbeider kun kan fylle på en fast mengde melk i én tur (f.eks. 20 pakker per påfylling). Hvis beholdningen ikke er fullstendig fylt opp, returnerer arbeideren til lageret for å hente en ny batch med melk.
123456789101112131415161718# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
Merk
milk_stock += restock_quantityer ekvivalent medmilk_stock = milk_stock + restock_quantity. Det er rett og slett en mer konsis og lesbar måte å uttrykke den samme operasjonen på.
Flytskjemaet ovenfor illustrerer logikken bak while-løkken som brukes for å håndtere melkeinventaret. Legg merke til hvordan tellervariabelen milk_stock, som starter på 15, økes med restock_quantity for hver løkkeiterasjon.
Løkken fortsetter å kjøre til milk_stock overgår min_stock terskelen på 50, på hvilket tidspunkt den stopper.
Swipe to start coding
Administrer en dagligvarebutikks inventar ved å bruke while-løkker for å sikre at Bread, Eggs og Apples oppfyller sine minimumslager nivåer. Påfyllingsmengder er lagret i en ordbok.
- Bruk en
while-løkke for å sjekke om"Bread"er under sitt minimumslager. Hvis ja, øk lageret ved å bruke den tilsvarende påfyllingsmengden fra ordboken. - Gjenta den samme logikken for
"Eggs"og"Apples", hver med sin egenwhile-løkke. - Etter påfylling, gå gjennom
inventory-ordboken ved å brukefor-løkken og skriv ut de endelige lager nivåene for alle varer.
Utdata Krav
- For hver påfylte vare, skriv ut:
"<Item> stock is low: <$current_stock> units. Restocking..." - Etter all påfylling, skriv ut
Final Inventory after restocking:etterfulgt av de oppdaterte lager nivåene:
"<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)" - Sett inn en ny linje før det endelige inventaret ved å bruke
\n. - Bruk f-strings for formatering og enkelt anførselstegn inne i dobbelt anførselstegn for ordbok nøkler.
Merk
For å unngå syntaks konflikter i f-strings, bruk dobbelt anførselstegn rundt strengen og enkelt anførselstegn inne:
f"Bread stock is low: {inventory['Bread'][0]} units."
Bruk\nfor å starte en ny linje i utdata:"First line.\nSecond line."
Løsning
Takk for tilbakemeldingene dine!
single