Close menu
Close menu

Tunnistaudu

Kirjaudu

Etkö ole vielä jäsen?

Liity jäseneksi

1.11 For-silmukat

1.11 Toistaminen silmukoiden avulla, for

For-silmukka sopii hyvin tilanteisiin, jossa on jokin valmis lista tai tuple-lista alkioita, joista jokaiselle tehdään sama toimenpide. For-silmukka käy läpi jokaisen parametriksi annetun listan jäsenistä, ja tekee niille jotakin. Listan alkioita eli jäseniä merkitään for-rakenteessa usein i-kirjaimella, mutta mikä tahansa muukin kirjain tai sana kävisi.

For-silmukan perusrakenne on:

1.11.1 for rakenne.png

Listan voi Python-kielessä muodostaa useammalla tavalla. Tuple-listan alkiot syötetään kaarisulkujen ( ) sisällä, ja tavallisen listan alkiot hakasulkujen [ ] sisällä. Listan voi tallentaa muuttujaan ennen for-silmukkaa, tai sen voi väliaikaisesti luoda samalla kun for-silmukan kirjoittaa.

Jokaiselle listan alkiolle eli jäsenelle suoritetaan sama toimenpide (sisennetty rivi). Kun kaikki listan alkiot on käyty läpi, ohjelma jatkuu seuraavasta ei-sisennetystä rivistä. Esimerkkejä for-rakenteesta:

Esimerkki 1:
1.11.2 for esimerkki 1.png

Esimerkki 2:
1.11.3 for esimerkki 2.png

For-silmukan kanssa käytetään monesti myös range-funktiota, joka luo automaattisesti kokonaislukulistoja:

1.11.4 for range.png

Range-funktio tarvitsee yhden, kaksi tai kolme parametria. Jos range:lle antaa yhden parametrin x, se muodostaa lukulistan joka alkaa 0:sta ja jossa on x kpl lukuja. Jos rangelle antaa kaksi parametria x ja y, se tekee lukulistan, joka alkaa x:stä ja päättyy ennen y:tä. Jos rangelle antaa kolme parametria x, y ja z, se tekee listan joka alkaa x:stä, päättyy ennen y:tä, ja lukujen välinen askel on z:n suuruinen.

Harjoituksia for-silmukoista:

1. Pohdi mitä tekee ohjelmakoodi
1.11.5 harjoitus 1 esimerkkikoodi.png

2. Kirjoita koodi editoriin ja aja ohjelma. Arvasitko koodin toiminnan oikein?

3. Kopioi ja muokkaa koodia siten, että ostoksiin lisätään yksi 3.50 hintainen tuote, ja aja ohjelma uudestaan

7. Perusta muuttuja koiria, jonne aluksi talletetaan luku 0.

8. Perusta muuttuja koirienYhteispaino, jonne aluksia tallennetaan luku 0.

9. Perusta listamuuttuja koirienPainot, jonne talletetaan painot 2.3,6.3,8.4 ja 6.4 kg (yksiköitä ei syötetä listaan)

10. Kirjoita for silmukka, joka käy läpi listan koirienPainot, ja jokaisen alkion (koiran) kohdalla koiria lisääntyy yhdellä ja koirienYhteispaino kasvaa koiran painolla.

11. Perusta muuttuja koirienPainokeskiarvo, jonne tallennat laskun koirienYhteispaino / koiria

12. tulosta koirienPainokeskiarvo.

Ratkaisut:

1.11.6 ratkaisut.png