While-loopar
while-loopar är det centrala verktyget för att hantera obestämd iteration, vilket är användbart i situationer där antalet iterationer inte är känt i förväg, till exempel vid övervakning av lagernivåer tills de når en viss gräns.
Se när Alex visar hur man använder while-loopar för att hantera dynamiska situationer:
En while-loop i Python kör en kodblock kontinuerligt så länge ett angivet villkor är True.
Syntax
För att starta en while-loop definieras en räknarvariabel följt av nyckelordet while och ett booleskt villkor. Villkoret följs av ett kolon :, vilket indikerar början på loopens kodblock.
Loopen kommer att köras upprepade gånger tills villkoret blir False. Vanligtvis uppdateras räknarvariabeln inuti loopen för att så småningom göra villkoret False och stoppa loopen.
Se detta exempel på en while-loop:
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 det här exemplet fungerar queue_length som vår räknevariabel, med startvärdet 5. Vid varje iteration av loopen minskar värdet på queue_length med 1 tills det når 0. Då avslutas loopen eftersom villkoret 0 > 0 utvärderas till False.
Observera
Det är avgörande att uppdatera räknevariabeln inuti loopen för att till slut uppfylla villkoret för att avsluta loopen. Utan detta kommer loopen att köras oändligt, vilket förhindrar att någon ytterligare kod exekveras.
Exempel på tillämpning
Föreställ dig att du hanterar mjölkbeståndet i en livsmedelsbutik. Du behöver säkerställa att lagret inte sjunker under en viss nivå, och när det gör det ska du fylla på för att bibehålla lagernivån.
En while-loop är användbar i denna situation eftersom den låter dig fylla på mjölk i omgångar under flera iterationer tills lagret når önskad nivå. Utan en while-loop skulle du behöva räkna ut exakt hur mycket mjölk som ska fyllas på vid ett tillfälle.
Till exempel kan en butiksanställd endast fylla på en fast mängd mjölk per gång (t.ex. 20 paket per påfyllning). Om lagret inte är helt återställt återvänder arbetaren till lagret för att hämta ytterligare en omgång mjölk.
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.")
Observera
milk_stock += restock_quantityär ekvivalent medmilk_stock = milk_stock + restock_quantity. Det är helt enkelt ett mer kortfattat och läsbart sätt att uttrycka samma operation.
Flödesschemat ovan illustrerar logiken bakom while-loopen som används för att hantera mjölkförrådet. Observera hur räknarvariabeln milk_stock, som börjar på 15, ökas med restock_quantity vid varje iteration av loopen.
Loopen fortsätter att köras tills milk_stock överskrider tröskelvärdet min_stock på 50, då den avslutas.
Swipe to start coding
Skapa en nedräkningstimer för rabatt som samlar alla nedräkningsvärden i en lista med hjälp av en while-loop.
- Använd en while-loop för att räkna ner från
start_numbertill1(inklusive), och minska med1vid varje iteration. - Under varje iteration, lägg till det aktuella nedräkningsvärdet i listan
countdown_values. - När loopen är klar, skriv ut
Discount countdown complete!och skriv sedan ut listancountdown_values.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain what would happen if we forgot to update the counter variable inside the while loop?
How can I use a while loop for user input validation?
Can you show another real-world example where a while loop is useful?
Awesome!
Completion rate improved to 2.17
While-loopar
Svep för att visa menyn
while-loopar är det centrala verktyget för att hantera obestämd iteration, vilket är användbart i situationer där antalet iterationer inte är känt i förväg, till exempel vid övervakning av lagernivåer tills de når en viss gräns.
Se när Alex visar hur man använder while-loopar för att hantera dynamiska situationer:
En while-loop i Python kör en kodblock kontinuerligt så länge ett angivet villkor är True.
Syntax
För att starta en while-loop definieras en räknarvariabel följt av nyckelordet while och ett booleskt villkor. Villkoret följs av ett kolon :, vilket indikerar början på loopens kodblock.
Loopen kommer att köras upprepade gånger tills villkoret blir False. Vanligtvis uppdateras räknarvariabeln inuti loopen för att så småningom göra villkoret False och stoppa loopen.
Se detta exempel på en while-loop:
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 det här exemplet fungerar queue_length som vår räknevariabel, med startvärdet 5. Vid varje iteration av loopen minskar värdet på queue_length med 1 tills det når 0. Då avslutas loopen eftersom villkoret 0 > 0 utvärderas till False.
Observera
Det är avgörande att uppdatera räknevariabeln inuti loopen för att till slut uppfylla villkoret för att avsluta loopen. Utan detta kommer loopen att köras oändligt, vilket förhindrar att någon ytterligare kod exekveras.
Exempel på tillämpning
Föreställ dig att du hanterar mjölkbeståndet i en livsmedelsbutik. Du behöver säkerställa att lagret inte sjunker under en viss nivå, och när det gör det ska du fylla på för att bibehålla lagernivån.
En while-loop är användbar i denna situation eftersom den låter dig fylla på mjölk i omgångar under flera iterationer tills lagret når önskad nivå. Utan en while-loop skulle du behöva räkna ut exakt hur mycket mjölk som ska fyllas på vid ett tillfälle.
Till exempel kan en butiksanställd endast fylla på en fast mängd mjölk per gång (t.ex. 20 paket per påfyllning). Om lagret inte är helt återställt återvänder arbetaren till lagret för att hämta ytterligare en omgång mjölk.
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.")
Observera
milk_stock += restock_quantityär ekvivalent medmilk_stock = milk_stock + restock_quantity. Det är helt enkelt ett mer kortfattat och läsbart sätt att uttrycka samma operation.
Flödesschemat ovan illustrerar logiken bakom while-loopen som används för att hantera mjölkförrådet. Observera hur räknarvariabeln milk_stock, som börjar på 15, ökas med restock_quantity vid varje iteration av loopen.
Loopen fortsätter att köras tills milk_stock överskrider tröskelvärdet min_stock på 50, då den avslutas.
Swipe to start coding
Skapa en nedräkningstimer för rabatt som samlar alla nedräkningsvärden i en lista med hjälp av en while-loop.
- Använd en while-loop för att räkna ner från
start_numbertill1(inklusive), och minska med1vid varje iteration. - Under varje iteration, lägg till det aktuella nedräkningsvärdet i listan
countdown_values. - När loopen är klar, skriv ut
Discount countdown complete!och skriv sedan ut listancountdown_values.
Lösning
Tack för dina kommentarer!
single