Silmukka

Toistaminen

Tähän asti olemme ohjanneet Python-ohjelmia vain if-lauseilla eli ehtolauseilla. Jos on haluttu esimerkiksi kirjoittaa jokin asia kahdesti, se on kirjoitettu kahdesti.

Tämä on kuitenkin äärimmäisen työlästä. Jos haluamme esimerkiksi tulostaa luvut yhdestä kymmeneentuhanteen, kirjoittamalla käsin kaikki numerot menisi sekä ikä että (mielen)terveys:

print(1)
print(2)
... (9997 print-komentoa tähän väliin)
print(10000)


Käsin kirjoittamisessa on lisäksi sellainen ongelma, että täytyy myös tarkastaa käsin kaikki numerot, että ne tulee kirjoitettua oikein. Siinä se järki vasta katoaisikin.

Kekseliäät saattavat keksiä, että copy-pasteamalla, eli leikkaamalla ja liimaamalla koodia asian voi ratkaista, jos osaa käyttää muuttujia ovelasti:
Ensin alustetaan muuttuja x,
x = 1
sitten toistetaan tulostamista ja muuttujan kasvattamista yhdellä, kunnes tulostuu luku 10000:
print(x)
x = x + 1
print(x)
x = x + 1
print(x)
...

Helppoa, eikö?
Ei ehkä tarpeeksi. Saman koodin toistaminen on kuitenkin edelleen hieman työlästä. Etenkin sitä on työlästä lukea ja muokata. Jos yhden rivin korkeus ruudulla olisi kaksi millimetriä, koodia tulisi ruudulle yhteensä 2 * 2 / 1000m * 10000 = 40m eli 40 metriä koodia. Ei kiva.

Onneksi Pythonissa on mahdollisuus toistaa kirjoitettua koodia ohjelmallisesti käyttäen toistolauseita.

While-silmukka

While-silmukka eli "kunnes-silmukka" on toistolause, joka toistaa sen sisällä olevaa koodia, kunnes se lopetetaan. Seuraavassa esimerkissä nähdään miten while-silmukka helpottaa elämää toistettavan koodin kanssa.











Seuraavaan osioon pääsee painamalla tästä