Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele While-silmukat | Silmukat
Johdatus Pythoniin

bookWhile-silmukat

while-silmukat ovat keskeinen työkalu määrittelemättömän toiston hallintaan, mikä on hyödyllistä tilanteissa, joissa toistojen määrää ei tiedetä etukäteen, kuten varastotason seuraamisessa kunnes se saavuttaa tietyn rajan.

Katso, kun Alex havainnollistaa, miten while-silmukoita käytetään dynaamisten tilanteiden hallintaan:

Pythonin while-silmukka suorittaa koodilohkon toistuvasti niin kauan kuin määritelty ehto on True.

Syntaksi

while-silmukan aloittamiseksi määritellään laskurimuuttuja ja sen jälkeen kirjoitetaan while-avainsana sekä totuusarvoehto. Ehtoa seuraa kaksoispiste :, joka osoittaa silmukan koodilohkon alun.

Silmukka suoritetaan toistuvasti kunnes ehto muuttuu False. Tyypillisesti laskurimuuttuja päivitetään silmukan sisällä, jotta ehto lopulta muuttuu False ja silmukka päättyy.

Tarkastellaan tätä while-silmukkaa esimerkkinä:

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

Tässä esimerkissä queue_length toimii laskurimuuttujana, joka alkaa arvosta 5. Jokaisella silmukan kierroksella queue_length pienenee yhdellä (1), kunnes se saavuttaa arvon 0. Tällöin silmukka päättyy, koska ehto 0 > 0 arvioituu epätodeksi (False).

Huomio

On olennaista päivittää laskurimuuttuja silmukan sisällä, jotta silmukka päättyy lopulta ehtoon. Ilman tätä silmukka jatkuu ikuisesti, estäen muun koodin suorittamisen.

Esimerkkisovellus

Kuvittele, että hallinnoit maitovarastoa ruokakaupassa. Sinun täytyy varmistaa, ettei varasto laske tietyn tason alapuolelle, ja kun näin käy, varastoa täydennetään halutulle tasolle.

while-silmukka on hyödyllinen tässä tilanteessa, koska sen avulla voit täydentää maitoa useissa erissä, kunnes varastotaso saavuttaa halutun määrän. Ilman while-silmukkaa sinun pitäisi laskea tarkka täydennysmäärä kerralla.

Esimerkiksi kaupan työntekijä voi tuoda kerralla vain tietyn määrän maitoa (esim. 20 pakettia täydennyskerralla). Jos varasto ei täyty kokonaan, työntekijä palaa varastolle hakemaan lisää maitoa.

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

Huom

milk_stock += restock_quantity on sama kuin milk_stock = milk_stock + restock_quantity. Tämä on yksinkertaisempi ja luettavampi tapa ilmaista sama operaatio.

Yllä oleva vuokaavio havainnollistaa while-silmukan logiikkaa maidon varaston hallinnassa. Huomaa, että laskurimuuttuja milk_stock, joka alkaa arvosta 15, kasvaa jokaisella silmukan kierroksella arvolla restock_quantity.

Silmukka jatkuu kunnes milk_stock ylittää min_stock -kynnyksen arvon 50, jolloin se pysähtyy.

Tehtävä

Swipe to start coding

Luo alennuslaskurin ajastin, joka kerää kaikki laskurin arvot listaan käyttäen while-silmukkaa.

  1. Käytä while-silmukkaa laskeaksesi alaspäin start_number-arvosta 1:een (mukaan lukien), vähentäen arvoa 1 jokaisella iteraatiolla.
  2. Jokaisella iteraatiolla lisää nykyinen laskuriarvo countdown_values-listaan.
  3. Silmukan päätyttyä tulosta Discount countdown complete! ja sen jälkeen tulosta countdown_values-lista.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 2
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

close

Awesome!

Completion rate improved to 2.17

bookWhile-silmukat

Pyyhkäise näyttääksesi valikon

while-silmukat ovat keskeinen työkalu määrittelemättömän toiston hallintaan, mikä on hyödyllistä tilanteissa, joissa toistojen määrää ei tiedetä etukäteen, kuten varastotason seuraamisessa kunnes se saavuttaa tietyn rajan.

Katso, kun Alex havainnollistaa, miten while-silmukoita käytetään dynaamisten tilanteiden hallintaan:

Pythonin while-silmukka suorittaa koodilohkon toistuvasti niin kauan kuin määritelty ehto on True.

Syntaksi

while-silmukan aloittamiseksi määritellään laskurimuuttuja ja sen jälkeen kirjoitetaan while-avainsana sekä totuusarvoehto. Ehtoa seuraa kaksoispiste :, joka osoittaa silmukan koodilohkon alun.

Silmukka suoritetaan toistuvasti kunnes ehto muuttuu False. Tyypillisesti laskurimuuttuja päivitetään silmukan sisällä, jotta ehto lopulta muuttuu False ja silmukka päättyy.

Tarkastellaan tätä while-silmukkaa esimerkkinä:

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

Tässä esimerkissä queue_length toimii laskurimuuttujana, joka alkaa arvosta 5. Jokaisella silmukan kierroksella queue_length pienenee yhdellä (1), kunnes se saavuttaa arvon 0. Tällöin silmukka päättyy, koska ehto 0 > 0 arvioituu epätodeksi (False).

Huomio

On olennaista päivittää laskurimuuttuja silmukan sisällä, jotta silmukka päättyy lopulta ehtoon. Ilman tätä silmukka jatkuu ikuisesti, estäen muun koodin suorittamisen.

Esimerkkisovellus

Kuvittele, että hallinnoit maitovarastoa ruokakaupassa. Sinun täytyy varmistaa, ettei varasto laske tietyn tason alapuolelle, ja kun näin käy, varastoa täydennetään halutulle tasolle.

while-silmukka on hyödyllinen tässä tilanteessa, koska sen avulla voit täydentää maitoa useissa erissä, kunnes varastotaso saavuttaa halutun määrän. Ilman while-silmukkaa sinun pitäisi laskea tarkka täydennysmäärä kerralla.

Esimerkiksi kaupan työntekijä voi tuoda kerralla vain tietyn määrän maitoa (esim. 20 pakettia täydennyskerralla). Jos varasto ei täyty kokonaan, työntekijä palaa varastolle hakemaan lisää maitoa.

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

Huom

milk_stock += restock_quantity on sama kuin milk_stock = milk_stock + restock_quantity. Tämä on yksinkertaisempi ja luettavampi tapa ilmaista sama operaatio.

Yllä oleva vuokaavio havainnollistaa while-silmukan logiikkaa maidon varaston hallinnassa. Huomaa, että laskurimuuttuja milk_stock, joka alkaa arvosta 15, kasvaa jokaisella silmukan kierroksella arvolla restock_quantity.

Silmukka jatkuu kunnes milk_stock ylittää min_stock -kynnyksen arvon 50, jolloin se pysähtyy.

Tehtävä

Swipe to start coding

Luo alennuslaskurin ajastin, joka kerää kaikki laskurin arvot listaan käyttäen while-silmukkaa.

  1. Käytä while-silmukkaa laskeaksesi alaspäin start_number-arvosta 1:een (mukaan lukien), vähentäen arvoa 1 jokaisella iteraatiolla.
  2. Jokaisella iteraatiolla lisää nykyinen laskuriarvo countdown_values-listaan.
  3. Silmukan päätyttyä tulosta Discount countdown complete! ja sen jälkeen tulosta countdown_values-lista.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 2
single

single

some-alt