Toistorakenne for-silmukka

Toistorakenne



For-komennolla jokin muuttuja saadaan käymään läpi halutut arvot. Range-komennon ja for-silmukan yhdistämällä muuttuja käy läpi haluttuja lukuja.

Esimerkki 3.

#Tässä ohjelmassa muuttuja "n" saa arvot 0, 1, 2, 3, 4 ja 5 ja tulostuu jokaisella kerralla.

for n in range(6): #Muuttuja n käy läpi luvut 0, 1, 2, 3, 4 ja 5 range(6) komennolla.
[[$ \ \ \ \ \ $]] print (n)

[[$\vdots$]]

0
1
2
3
4
5

Välitehtävä

Esimerkki 4.

#Tässä ohjelmassa muuttuja "n" saa arvot 0, 1, 2, 3, 4 ja 5 ja kertoo luvut itsellään.

for n in range(6): #Muuttuja n käy läpi luvut 0, 1, 2, 3, 4 ja 5 range(6) komennolla.
[[$ \ \ \ \ \ $]] print ("Luku", n, "kerrottuna itsellään on", n * n)

[[$\vdots$]]

Luku 0 kerrottuna itsellään on 0
Luku 1 kerrottuna itsellään on 1
Luku 2 kerrottuna itsellään on 4
Luku 3 kerrottuna itsellään on 9
Luku 4 kerrottuna itsellään on 16
Luku 5 kerrottuna itsellään on 25

Range komennolla muuttuja käy läpi halutut luvut. Range-komennossa luku saadaan käyttäytymään kolmella tavalla:

Komento Merkitys Esimerkki Luvut
range(luku) Käydään läpi luvut nollasta annettuun
lukuun asti ykkösen välein.
range(7) 0, 1, 2, 3, 4, 5, 6
range(1. luku, 2. luku) Käydään läpi luvut 1. luvusta 2. lukuun ykkösen välein range(2, 5) 2, 3, 4
range(1. luku, 2. luku, askelväli) Käydään läpi luvut 1. luvusta 2. lukuun tietyn välein range(3, 8, 2) 3, 5, 7


Esimerkki 5.

#Tämä ohjelma tulostaa luvun viisi kertotaulun eli lukuja vitosen välein.

for n in range(0, 51, 5):
[[$ \ \ \ \ \ $]] print (n)

[[$\vdots$]]

0
5
10
15
20
25
30
35
40
45
50

Välitehtävä

Esimerkki 6.

#Tulostetaan kaikki kolmen kirjaimen kirjainyhdistelmät, jotka sisältävät kirjaimia A, B tai C.

lista = ["A", "B", "C"] #Listoista lisää seuraavassa kappaleessa.

for i in lista:
[[$ \ \ \ \ \ $]] for j in lista:
[[$ \ \ \ \ \ $]] [[$ \ \ \ \ \ $]] if j == i:
[[$ \ \ \ \ \ $]] [[$ \ \ \ \ \ $]] [[$ \ \ \ \ \ $]] continue
[[$ \ \ \ \ \ $]] [[$ \ \ \ \ \ $]] for k in lista:
[[$ \ \ \ \ \ $]] [[$ \ \ \ \ \ $]] [[$ \ \ \ \ \ $]] if k == j or k == i:
[[$ \ \ \ \ \ $]] [[$ \ \ \ \ \ $]] [[$ \ \ \ \ \ $]] [[$ \ \ \ \ \ $]] continue
[[$ \ \ \ \ \ $]] [[$ \ \ \ \ \ $]] [[$ \ \ \ \ \ $]] print (i,j,k)

[[$\vdots$]]

ABC
ACB
BAC
BCA
CAB
CBA

Keskeytys


Break-komennolla for- tai while-silmukka voidaan keskeyttää.

Esimerkki 7.

for n in range(1100):
[[$ \ \ \ \ \ $]]print (n)

[[$ \ \ \ \ \ $]]if n >= 10:
[[$ \ \ \ \ \ $]] [[$ \ \ \ \ \ $]] break

#Ilman break-komentoa ohjelma tulostaisi numerot 1100 asti.

[[$\vdots$]]

0
1
2
3
4
5
6
7
8
9
10

Välitehtävä