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).