for i in range(5):
print(i)
Kun suoritamme ohjelman, se tulostaa seuraavat rivit:
0 1 2 3 4
Merkintä range(n) tarkoittaa,
että silmukka käy läpi n
ensimmäistä kokonaislukua nollasta alkaen
eli luvut 0...n-1.
Esimerkiksi yllä oleva silmukka käy läpi luvut 0...4
muuttujan i avulla.
Jokaisen luvun kohdalla suoritetaan silmukan
sisällä oleva koodi.
Tässä tapauksessa koodina on print(i),
eli ohjelma tulostaa luvun i.
Huomaa, että silmukan sisällä oleva koodi on sisennetty eli sen edessä on tyhjää tilaa. Saamme tämän aikaan painamalla tab-nappia rivin alussa. Sisennys ilmaisee, mitä osaa koodista tulee toistaa silmukassa. Jos sisennys puuttuu, koodi ei toimi halutulla tavalla, joten on tärkeää, että sisennys on tehty oikein.
Löydät tab-napin näppäimistöltä tästä:
Silmukan hienoutena on, että voimme kätevästi muuttaa, mitä lukuja se käy läpi. Esimerkiksi voimme muuttaa silmukkaa näin:
for i in range(8):
print(i)
Tämän seurauksena ohjelma tulostaakin luvut 0...7:
0 1 2 3 4 5 6 7
Merkintä range(a,b) tarkoittaa,
että aloitamme luvusta a
ja lopetamme juuri ennen lukua b.
Esimerkiksi seuraava koodi tulostaa luvut 1...5:
for i in range(1,6):
print(i)
Ohjelma toimii näin:
1 2 3 4 5
Merkintä range(a,b,c) tarkoittaa,
että luku kasvaa c:llä joka askeleen jälkeen.
Voimme esimerkiksi tulostaa parillisia lukuja näin:
for i in range(4,13,2):
print(i)
Ohjelma toimii näin:
4 6 8 10 12Voimme myös tulostaa lukuja suurimmasta pienimpään antamalla negatiivisen kasvatuksen:
for i in range(5,0,-1):
print(i)
Ohjelma toimii näin:
5 4 3 2 1
Voimme käyttää silmukan muuttujaa haluamallamme tavalla
silmukan sisällä.
Esimerkiksi seuraava silmukka tulostaa joka askeleella
sekä luvun i että sen neliön i*i.
for i in range(1,6):
print("luvun",i,"neliö on",i*i)
Ohjelman tulostus on seuraava:
luvun 1 neliö on 1 luvun 2 neliö on 4 luvun 3 neliö on 9 luvun 4 neliö on 16 luvun 5 neliö on 25
Toisaalta voimme luoda myös silmukan, joka ei käytä mitenkään silmukan muuttujaa vaan vain toistaa samaa koodia. Näin on seuraavassa ohjelmassa:
for i in range(5):
print("Heippa!")
Tämä ohjelma tulostaa viisi kertaa tekstin "Heippa!":
Heippa! Heippa! Heippa! Heippa! Heippa!
Kirjoita ohjelma tähän:
Kirjoita ohjelma tähän:
Kirjoita ohjelma tähän:
Kirjoita ohjelma tähän:
Kirjoita ohjelma tähän:
apina ja banaani.
Kirjoita ohjelma tähän: