Silmukkarakenne For
Jos tiettyä komentoa halutaan toistaa useamman kerran, se voidaan sijoittaa silmukkarakenteen sisään. Silmukkarakennetta toistetaan ohjelmaan kirjoitettujen toistojen verran. Silmukkarakenteeseen kuuluvat komennot sisennetään.
For-silmukkarakenteessa tarvitaan laskuri, joka laskee toistokertojen lukumäärän. Tätä kutsutaan silmukkamuuttujaksi. Silmukkamuuttujaa voi nimetä myös jollakin kirjaimella. Toistojen lukumäärä ilmoitetaan komennolla range(). Kierrosten laskeminen alkaa aina nollasta ja päättyy yhtä ennen viimeistä arvoa, ellei range-komennossa muuta määrätä.
Esimerkki 2
Tee ohjelma, jolla voit tutkia, mitä range()-komento tekee, kun sulkeiden sisään kirjoitetaan
a) 3
b) 1, 10
c) 0, 11, 2.
Ratkaisu
for laskuri in range (1):
print laskuri
for laskuri in range(1, 10):
print laskuri
for laskuri in range (0, 11, 2):
print laskuri
Jos lukujono halutaan tulostaan yhdelle riville, tulostusrivi kirjoitetaan seuraavasti: print laskuri, Numerot tulostuvat tällöin yhdelle riville välilyönnillä erotettuina.
Jos lukujono halutaan tulostaa yhdelle riville luvut pilkulla erotettuna, kirjoitetaan tulostusrivi seuraavasti: print (str(laskuri)+', '), Numerot tulostuvat yhdelle riville välilyönneillä erotettuna ja myös viimeisen luvun perän tulee pilkku.
Tehtävä 6
Tavoitteena on harjoitella for-silmukkarakennetta.Tee ohjelma, joka käyttää for-silmukkarakennetta ja piirtää neliön, jonka sivun pituus on 200 yksikköä.
Tehtävä 7 (Palautettava tehtävä)
Tavoitteena on hyödyntää for-silmukkarakennetta.Tee ohjelma, joka hyödyntää for-silmukkarakennetta ja piirtää halutun säännöllisen monikulmion. Piirrä ensin tasasivuinen kolmio.
- Pyydä käyttäjältä sivun pituus.
- Pyydä käyttäjältä tieto, kuinka monta kärkipistettä monikulmiossa on. Esim. kolmiossa on kolme kärkipistettä ja neliössä neljä kärkipistettä.
- Muista muuntaa käyttäjän antamat vastaukset kokonaislukumuuttujiksi (int).
- Tee for-silmukka, jota toistetaan kärkipisteiden lukumäärän verran.
- Määritä eteenpäin liikuttava matka.
- Määritä kääntymiskulma. Se saadaan jakamalla 360° kärkipisteiden määrällä.
- Testaa ohjelma.
- Kokeile ohjelman toiminta viisikulmiolla ja kahdeksankulmiolla.
Tehtävä 8 (Palautettava tehtävä)
Tavoitteena on harjoitella for-silmukan silmukkamuuttujan hyödyntämistä tulosteissa.Tee ohjelma, joka tulostaa kahden kertotaulun vastaukset.
- Silmukkamuuttujaa voi käyttää laskulausekkeissa kuten mitä tahansa muuttujaa.
- Ohjelma tulostaa luvun 2 ja laskurimuuttujan tulon jokaisella silmukkakierroksella.