Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære While-løkker | Løkker
Introduksjon til Python

bookWhile-løkker

while-løkker er det sentrale verktøyet for å håndtere ubestemt iterasjon, noe som er nyttig i situasjoner der antall iterasjoner ikke er kjent på forhånd, som for eksempel å overvåke lagerbeholdning inntil den når en bestemt terskel.

Se hvordan Alex demonstrerer bruk av while-løkker for å håndtere dynamiske situasjoner:

En while-løkke i Python kjører en kodeblokk gjentatte ganger så lenge en spesifisert betingelse er True.

Syntaks

For å starte en while-løkke defineres en teller-variabel, etterfulgt av nøkkelordet while og en boolsk betingelse. Betingelsen etterfølges av et kolon :, som indikerer starten på løkkens kodeblokk.

Løkken vil kjøre gjentatte ganger inntil betingelsen blir False. Vanligvis oppdateres teller-variabelen inne i løkken for til slutt å gjøre betingelsen False og stoppe løkken.

Se dette eksempelet på en while-løkke:

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
copy

I dette eksemplet fungerer queue_length som vår tellevariabel, og starter på 5. For hver gjennomgang 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 å oppfylle betingelsen for å stoppe løkken. Uten dette vil løkken kjøre uendelig, og forhindre at videre kode blir kjørt.

Eksempel på bruk

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 det skjer, må du etterfylle for å opprettholde beholdningen.

En while-løkke er nyttig i denne situasjonen fordi den lar deg etterfylle melk i flere omganger til beholdningen når ønsket nivå. Uten en while-løkke måtte du ha regnet ut nøyaktig hvor mye melk som skulle etterfylles på én gang.

For eksempel kan en butikkmedarbeider kun etterfylle en fast mengde melk per tur (f.eks. 20 pakker per etterfylling). Hvis beholdningen ikke er fullstendig fylt opp, går medarbeideren tilbake til lageret for å hente en ny omgang 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.")
copy

Merk

milk_stock += restock_quantity er det samme som milk_stock = milk_stock + restock_quantity. Dette er bare en mer kortfattet og lesbar måte å uttrykke den samme operasjonen på.

Flytskjemaet ovenfor illustrerer logikken bak while-løkka som brukes for å håndtere melkebeholdningen. Legg merke til hvordan tellevariabelen milk_stock, som starter på 15, økes med restock_quantity for hver gjennomgang av løkka.

Løkka fortsetter å kjøre til milk_stock overstiger grenseverdien min_stock 50, og stopper deretter.

Oppgave

Swipe to start coding

Lag en rabattnedtellingstimer som samler alle nedtellingsverdiene i en liste ved hjelp av en while-løkke.

  1. Bruk en while-løkke for å telle ned fra start_number til 1 (inkludert), og trekk fra 1 for hver iterasjon.
  2. Under hver iterasjon, legg til den nåværende nedtellingsverdien i listen countdown_values.
  3. Etter at løkken er ferdig, skriv ut Discount countdown complete! og deretter skriv ut listen countdown_values.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 2
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 2.17

bookWhile-løkker

Sveip for å vise menyen

while-løkker er det sentrale verktøyet for å håndtere ubestemt iterasjon, noe som er nyttig i situasjoner der antall iterasjoner ikke er kjent på forhånd, som for eksempel å overvåke lagerbeholdning inntil den når en bestemt terskel.

Se hvordan Alex demonstrerer bruk av while-løkker for å håndtere dynamiske situasjoner:

En while-løkke i Python kjører en kodeblokk gjentatte ganger så lenge en spesifisert betingelse er True.

Syntaks

For å starte en while-løkke defineres en teller-variabel, etterfulgt av nøkkelordet while og en boolsk betingelse. Betingelsen etterfølges av et kolon :, som indikerer starten på løkkens kodeblokk.

Løkken vil kjøre gjentatte ganger inntil betingelsen blir False. Vanligvis oppdateres teller-variabelen inne i løkken for til slutt å gjøre betingelsen False og stoppe løkken.

Se dette eksempelet på en while-løkke:

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
copy

I dette eksemplet fungerer queue_length som vår tellevariabel, og starter på 5. For hver gjennomgang 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 å oppfylle betingelsen for å stoppe løkken. Uten dette vil løkken kjøre uendelig, og forhindre at videre kode blir kjørt.

Eksempel på bruk

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 det skjer, må du etterfylle for å opprettholde beholdningen.

En while-løkke er nyttig i denne situasjonen fordi den lar deg etterfylle melk i flere omganger til beholdningen når ønsket nivå. Uten en while-løkke måtte du ha regnet ut nøyaktig hvor mye melk som skulle etterfylles på én gang.

For eksempel kan en butikkmedarbeider kun etterfylle en fast mengde melk per tur (f.eks. 20 pakker per etterfylling). Hvis beholdningen ikke er fullstendig fylt opp, går medarbeideren tilbake til lageret for å hente en ny omgang 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.")
copy

Merk

milk_stock += restock_quantity er det samme som milk_stock = milk_stock + restock_quantity. Dette er bare en mer kortfattet og lesbar måte å uttrykke den samme operasjonen på.

Flytskjemaet ovenfor illustrerer logikken bak while-løkka som brukes for å håndtere melkebeholdningen. Legg merke til hvordan tellevariabelen milk_stock, som starter på 15, økes med restock_quantity for hver gjennomgang av løkka.

Løkka fortsetter å kjøre til milk_stock overstiger grenseverdien min_stock 50, og stopper deretter.

Oppgave

Swipe to start coding

Lag en rabattnedtellingstimer som samler alle nedtellingsverdiene i en liste ved hjelp av en while-løkke.

  1. Bruk en while-løkke for å telle ned fra start_number til 1 (inkludert), og trekk fra 1 for hver iterasjon.
  2. Under hver iterasjon, legg til den nåværende nedtellingsverdien i listen countdown_values.
  3. Etter at løkken er ferdig, skriv ut Discount countdown complete! og deretter skriv ut listen countdown_values.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 2
single

single

some-alt