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

Sveip for å vise menyen

book
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
copy

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.")
copy

Merk

milk_stock += restock_quantity er ekvivalent med milk_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 terskelen50, på hvilket tidspunkt den stopper.

Oppgave

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 egen while-løkke.
  • Etter påfylling, gå gjennom inventory-ordboken ved å bruke for-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 \n for å starte en ny linje i utdata: "First line.\nSecond line."

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
Vi beklager at noe gikk galt. Hva skjedde?

Spør AI

expand
ChatGPT

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

book
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
copy

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.")
copy

Merk

milk_stock += restock_quantity er ekvivalent med milk_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 terskelen50, på hvilket tidspunkt den stopper.

Oppgave

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 egen while-løkke.
  • Etter påfylling, gå gjennom inventory-ordboken ved å bruke for-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 \n for å starte en ny linje i utdata: "First line.\nSecond line."

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
Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Vi beklager at noe gikk galt. Hva skjedde?
some-alt