5. marraskuuta 2025
Python: while- ja for- rakenteet sekä Turtle-grafiikkakirjasto
Jatketaan Python-kielen opiskelua.
Tee taas Trinket.io -ympäristössä. Käytä haluamaasi tekoälyä apuna.
Keskity tällä kertaa näihin teemoihin ja harjoituksiin:
1b) Pyydä tekoälyä auttamaan lisäämään ohjelmaan myös säätilan kysyminen (“onko aurinkoista vai sateista?”).
Tässä while-silmukan alussa ei ole normaalisti olevaa ehdon voimmassaolon tarkistamista.
Vaan while-silmukkaa tekemällä on laadittu ikuisesti jatkuva ohjelmisto. Sen voi siis keskeyttää ainoastaan "väkivaltaisesti".
Lue seuraava kuvaus (1-6) pohjaksi rupeaksesi tekemään Turtle-grafiikalla erilaisia tehtäviä.
Tee taas Trinket.io -ympäristössä. Käytä haluamaasi tekoälyä apuna.
Keskity tällä kertaa näihin teemoihin ja harjoituksiin:
1) Tutustu if - elif - else -rakenteeseen: lue koodi, koeta ymmärtää ja lopuksi kopioi ja kokeile
# Kysytään käyttäjältä lämpötilalampotila = input("Anna tämänhetkinen lämpötila (Celsius): ")# Muunnetaan luku kokonaisluvuksilampotila = int(lampotila)# Tarkistetaan, millainen sää onif lampotila < 0: print "Ulkona on pakkasta. Muista takki!"elif lampotila < 10: print "On viileää. Tarvitset ehkä hupparin."elif lampotila < 20: print "Sää on melko miellyttävä."else: print "On lämmintä! Ehkä t-paitakeli."💡 Selitys:
-
iftarkistaa ensimmäisen ehdon (lampotila < 0) -
Jos se ei toteudu, siirrytään
elif-ehtoihin yksi kerrallaan -
Jos mikään ehto ei toteudu, suoritetaan
else
Tehtävät
1a) Kopioi edellinen koodi ja kokeile sen toiminta. Tallenna tämä tiedosto nimelläif_rakenne. Lisää uusia lämpötilarajoja (esim. “todella kuuma” tai “jääkylmä”)1b) Pyydä tekoälyä auttamaan lisäämään ohjelmaan myös säätilan kysyminen (“onko aurinkoista vai sateista?”).
2) Tutustu Turtle- grafiikkakirjaston avulla while-silmukkaan
Lue koodi. Koeta ymmärtää, mitä pystyt. Kopioi sitten ja kokeile ajaa sitä Trinketissä. Tallenna nimelläturtle_ja_while.# Ladataan grafiikkakirjasto. Sen nimi on turtle.from turtle import *# Luodaan Turtle-tyyppinen olio, jonka avulla piirretään.nuoli = Turtle()# Toistetaan ikuisesti silmukkaawhile(True): kulmaVasempaan=int(input("Anna kulma vasemmalle: ")) eteneminen=int(input("Paljonko edetään:")) nuoli.left(kulmaVasempaan) nuoli.forward(eteneminen)Tässä while-silmukan alussa ei ole normaalisti olevaa ehdon voimmassaolon tarkistamista.
Vaan while-silmukkaa tekemällä on laadittu ikuisesti jatkuva ohjelmisto. Sen voi siis keskeyttää ainoastaan "väkivaltaisesti".
3) Perhdy Turtle-grafiikkaan enemmän
Lue seuraava kuvaus (1-6) pohjaksi rupeaksesi tekemään Turtle-grafiikalla erilaisia tehtäviä.
1. Aloitus
Tämä tuo kirjaston käyttöön.
Sen jälkeen voit luoda “kilpikonnan”:
2. Liikkuminen
| Komento | Selitys | Esimerkki |
|---|---|---|
t.forward(100) |
liikkuu eteenpäin 100 askelta | → |
t.backward(50) |
taaksepäin 50 askelta | ← |
t.right(90) |
kääntyy oikealle 90 astetta | ↷ |
t.left(45) |
kääntyy vasemmalle 45 astetta | ↶ |
3. Piirtäminen ja nostaminen
| Komento | Selitys |
|---|---|
t.penup() |
nostaa kynän (ei piirrä liikkuessa) |
t.pendown() |
laskee kynän alas (alkaa taas piirtää) |
4. Värit ja viivan paksuus
🎨 Värit: "red", "blue", "green", "black", "yellow", jne.
5. Kuvioita helposti
Neliö Kolmio6. Lopuksi
Tämä pitää ikkunan auki, kunnes suljet sen itse.
💡 Vinkkejä
-
Kokeile eri kulmia ja etäisyyksiä.
-
Tee omia kuvioita yhdistämällä silmukoita ja värejä.
-
Jos menee sekaisin, voit aina aloittaa alusta komennolla:
4) Tee seuraavia Turtle-tehtäviä:
- Piirrä for-silmukkaa apuna käyttäen säännöllinen viisikulmio. Tallenna nimellä
viisikulmio. - Piirrä for-silmukkaa apuna käyttäen säännöllinen kuusikulmio. Tallenna nimellä
kuusikulmio. - Piirrä for-silmukkaa apuna käyttäen säännöllinen satakulmio. Tallenna nimellä
satakulmio. - Piirrä Daavidin tähti. Tallenna nimellä
daavidin_tahti. - Keksi itse jokin piirros. Tallenna nimellä
oma_piirros - Tutki tekoälyn avulla, voisitko tehdä jonkin pelin (esim. matopeli, Pacman, tms. ) Turtle-grafiikalla (ei ole tietoa, onko mahdollista).