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:

1) Tutustu if - elif - else -rakenteeseen: lue koodi, koeta ymmärtää ja lopuksi kopioi ja kokeile

# Kysytään käyttäjältä lämpötila
lampotila = input("Anna tämänhetkinen lämpötila (Celsius): ")

# Muunnetaan luku kokonaisluvuksi
lampotila = int(lampotila)

# Tarkistetaan, millainen sää on
if 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:

  • if tarkistaa 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 silmukkaa
while(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

 
import turtle

Tämä tuo kirjaston käyttöön.
Sen jälkeen voit luoda “kilpikonnan”:

 
t = turtle.Turtle()

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

 
t.color("blue") t.pensize(3) t.forward(100)

🎨 Värit: "red", "blue", "green", "black", "yellow", jne.


5. Kuvioita helposti

Neliö
 
for i in range(4):
 t.forward(100)
 t.right(90)
Kolmio
 
for i in range(3):
 t.forward(100)
 t.left(120)

6. Lopuksi

 
turtle.done()

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:

     
    t.reset()

4) Tee seuraavia Turtle-tehtäviä:


  1. Piirrä for-silmukkaa apuna käyttäen säännöllinen viisikulmio. Tallenna nimellä viisikulmio.
  2. Piirrä for-silmukkaa apuna käyttäen säännöllinen kuusikulmio. Tallenna nimellä kuusikulmio.
  3. Piirrä for-silmukkaa apuna käyttäen säännöllinen satakulmio. Tallenna nimellä satakulmio.
  4. Piirrä Daavidin tähti. Tallenna nimellä daavidin_tahti. 
  5. Keksi itse jokin piirros. Tallenna nimellä oma_piirros
  6. Tutki tekoälyn avulla, voisitko tehdä jonkin pelin (esim. matopeli, Pacman, tms. ) Turtle-grafiikalla (ei ole tietoa, onko mahdollista).