Harjoitus 19. Python ja kilpikonnagrafiikka 3
For -silmukka
Aina kun koodissa toistuu sarja käskyjä voidaan hyödyntää for -silmukkaa. Jos esimerksi haluat piirtää kahdeksankulmion se vaatii melkoisen määrän käskyjä (=paljon työtä ja monta mahdollisuutta tehdä virhe)
for silmukan avulla saman lopputuloksen saa huomattavasti lyhyemmällä koodilla.
for silmukassa luodaan muuttuja (tässä i) ja sille lista jossa on niin monta jäsentä kun silmukkaa halutaan toistaa. Listan jäsenet voivat olla myös merkkijonoja kuten alla olevassa esimerkissä. for rivin jälkeen on tärkeää laittaa kaksoispiste! Kaksoispisteen alapuolelle tulee toistettavat käskyt sisennettynä
Hakasulkujen sisällä teksteillä ei tässä tapauksessa ole merkitystä. Myöskään muuttujaa i ei tässä hyödynnetä. Kokeillaan muokata koodia hiukan. Vaihda muuttujan i nimeksi vari ja laita hakasulkujen sisään neljä eri värin nimeä. Lisää silmukkaan yksi rivi, jossa pekan väri määräytyy muuttujan vari arvon mukaan.
Muista että silmukassa toistettava silmukan "runko" on aina sisennettävä! Silmukan runko suoritetaan kerran jokaiselle listan jäsenelle. Joka kierroksen jälkeen ohjelma tarkastaa onko listalla vielä jäseniä ja jos ei ole siirtyy ohjelman suoritus eteenpäin silmukasta.
While ja for silmukan erona on se että while silmukalla toistojen lukumäärää ei tarvitse tietää vielä ohjelmaa kirjoittaessa.
for silmukan avulla saman lopputuloksen saa huomattavasti lyhyemmällä koodilla.
for silmukassa luodaan muuttuja (tässä i) ja sille lista jossa on niin monta jäsentä kun silmukkaa halutaan toistaa. Listan jäsenet voivat olla myös merkkijonoja kuten alla olevassa esimerkissä. for rivin jälkeen on tärkeää laittaa kaksoispiste! Kaksoispisteen alapuolelle tulee toistettavat käskyt sisennettynä
Hakasulkujen sisällä teksteillä ei tässä tapauksessa ole merkitystä. Myöskään muuttujaa i ei tässä hyödynnetä. Kokeillaan muokata koodia hiukan. Vaihda muuttujan i nimeksi vari ja laita hakasulkujen sisään neljä eri värin nimeä. Lisää silmukkaan yksi rivi, jossa pekan väri määräytyy muuttujan vari arvon mukaan.
Muista että silmukassa toistettava silmukan "runko" on aina sisennettävä! Silmukan runko suoritetaan kerran jokaiselle listan jäsenelle. Joka kierroksen jälkeen ohjelma tarkastaa onko listalla vielä jäseniä ja jos ei ole siirtyy ohjelman suoritus eteenpäin silmukasta.
While ja for silmukan erona on se että while silmukalla toistojen lukumäärää ei tarvitse tietää vielä ohjelmaa kirjoittaessa.
Harjoitteluikkuna
1)Kirjoita ohjelma jossa kilpikonna piirtää for silmukan avulla kahdeksankulmion (kulma 45 astetta).
2) Kirjoita ohjelma jossa for silmukan avulla kilpikonna piirtää neljä kertaa kolmion (kulma 120 astetta) jonka viivan väri vaihtuu joka kierroksella.
3)Kirjoita ohjelma jossa for silmukan avulla kilpikonna piirtää neljä kertaa neliön jonka täyttöväri vaihtuu joka kierroksella.
2) Kirjoita ohjelma jossa for silmukan avulla kilpikonna piirtää neljä kertaa kolmion (kulma 120 astetta) jonka viivan väri vaihtuu joka kierroksella.
3)Kirjoita ohjelma jossa for silmukan avulla kilpikonna piirtää neljä kertaa neliön jonka täyttöväri vaihtuu joka kierroksella.