Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Ääretön Silmukka | While-silmukka
Python-silmukoiden Opas

Ääretön Silmukka

Pyyhkäise näyttääksesi valikon

Ääretön silmukka on silmukka, joka ei koskaan pääty, koska sitä ohjaava ehto ei koskaan arvioidu epätodeksi (False). Tällaiset silmukat voivat aiheuttaa ohjelman jumiutumisen tai kaatumisen, joten niitä tulisi välttää, ellei niitä ole tarkoituksella käytetty.

Jos ehto on aina True, silmukka jatkuu ikuisesti. Esimerkiksi matkustamiseen liittyvässä tilanteessa:

# Infinite loop example
while 'Barcelona' in ['Monako', 'Liverpool', 'Barcelona', 'Munchen']:
    print('I found Barcelona!')
  • Ehto 'Barcelona' in [...] on aina True, koska 'Barcelona' on listassa. Tämä vastaa ehtoa while True:;
  • Silmukka tulostaa jatkuvasti 'I found Barcelona!' ilman mahdollisuutta pysäyttää sitä.

Virheellisesti päivitetty silmukkamuuttuja voi myös johtaa ikuiseen silmukkaan. Esimerkiksi:

# Another infinite loop example
i = 0
travel_list = ['Monako', 'Luxemburg', 'Liverpool', 'Barcelona', 'Munchen']

while i < len(travel_list):
    print(travel_list[i])
    # Missing increment: i += 1
  • Indeksiä i ei kasvateta koskaan, joten ehto i < len(travel_list) on aina True;
  • Silmukka tulostaa ensimmäisen kaupungin ('Monako') loputtomasti.

Välttääksesi ikuiset silmukat, varmista että silmukan ehto on suunniteltu niin, että se lopulta arvioituu arvoksi False. Tämä tarkoittaa, että ehdon tulee olla dynaaminen ja muuttua silmukan suorituksen aikana. Lisäksi, jos käytät muuttujaa (kuten laskuria) ohjaamaan silmukkaa, varmista että sitä kasvatetaan tai päivitetään asianmukaisesti silmukan sisällä, jotta ehto ei pysy arvossa True loputtomasti.

1. Mikä on seuraavan koodin ongelma?

2. Miten voit muokata tätä silmukkaa, jotta se ei pyörisi ikuisesti?

question mark

Mikä on seuraavan koodin ongelma?

Valitse kaikki oikeat vastaukset

question mark

Miten voit muokata tätä silmukkaa, jotta se ei pyörisi ikuisesti?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Osio 2. Luku 2
some-alt