Tunti 8 Ehtolauseet

Ehtolauseet ja asioiden vertaaminen

Mitä ehtolauseella tarkoitetaan? Nuorille hyvä esimerkki voisi olla vanhemman ehto "jos siivoat huoneesi, saat lähteä kavereille". Eli jos jotakin tapahtuu, niin siitä seuraa jotakin. Jos asiaa ei tapahdu, niin seuraamustakaan ei tapahdu. Ohjelmointikielissä tämä toteutetaan usein käyttämällä komentoja if (tarkoittaa jos), elif (tarkoittaa muuten jos) ja else (tarkoittaa muutoin). Ne toimivat siten, että if -komennon perässä on ehto ja jos ehto on totta, niin silloin ohjelma suorittaa if -komentoa seuraavan lohkon.

Alla olevalla videolla käydään läpi ehtolauseita:



Alla olevassa kuvassa on esimerkkinä if else -rakenne:


Lohko siis alkaa seuraavalta riviltä, mutta se on vähän oikealla verrattuna if -komentoon. Jos katsot alla olevasta kuvasta, niin print -komento on selvästi oikealla verrattuna if -komentoon. Alempana olevassa kuvassa tämä lohko on ympyröity sinisellä. Tällaiset lohkot alkavat aina 4 välilyönnin verran oikealla. Kokeile seuraavaa ohjelmaa kirjoittamalla se editoriin. Muista tehdä täsmälleen samalla tavalla. Ehtojen jälkeen olevien lohkojen, eli tässä tapauksessa print -komentojen pitää olla 4 välilyönnin verran oikealla (tai sitten kerran tabulaattorinäppäintä), muuten ohjelma valittaa virheestä.

Huomaa if ja else -lauseiden perässä olevat kaksoispisteet. Ohjelma ei toimi ilman niitä.

Alla oleva koodi liittyy Esimerkkiin 1.


* Esimerkki 1.* Kirjoita yllä oleva koodi editoriin ja aja se. Ole tarkkana oikeinkirjoituksen suhteen.


Alla olevassa kuvassa on merkitty if -lauseen määrittämä lohko. Jos if -lause on totta, niin silloin sinisellä ympyröity ohjelmarivi toteutetaan, jos ei, niin suoritetaan punaisella ympyröity else -lauseen tuloste.



* Esimerkki 2.* Nimetään muuttujaksi jokin kokonaisluku. Verrataan muuttujaa toiseen lukuun ja tulostetaan teksti sen mukaan onko luku pienempi vai suurempi. Kokeile vaihtaa lukuja.


<> Tehtävä 1.
Nimeä muuttujaksi jokin koearvosana (esim. arvosana = 6) ja vertaa sitä toiseen arvosanaan, joka kysytään input -kyselyllä. Jos muuttujassa oleva arvosana on parempi, tulosta "Sain paremman!" ja jos huonompi niin tulosta "Sain huonomman!".


<> Tehtävä 2.
Tee kysely, jossa kysytään kuinka vanha henkilö on. Jos hän on yli 13 vuotias, niin ohjelma ilmoittaa, että hän pääsee katsomaan elokuvaa. 


<> Tehtävä 3. Tee ohjelma, joka kysyy lukua ja johon luodaan kokonaislukumuuttuja. Käytä vertailuun == ja != operaattoreita ja tulosta vastaus sen mukaan onko vastaukseksi annettu luku sama kuin muuttujasi.


<> Tehtävä 4.
 Tee kysely, jossa on monta ehtoa. Esim. kysytään ikää ja jos on alle 18, on nuori, jos on alle 65, on aikuinen ja jos on yli 65, on eläkeläinen ja jos yli 120 voi epäillä, että henkilö huijaa. Mieti tarkasti missä järjestyksessä ehdot laitetaan. Voit kokeilla käyttää myös elif -komentoa. (Siitä on lisää Ehtolauseet osa 2:ssa.)

Osaatko?

Mitä ohjelma tulostaa?
luku = 1
luku2 = 3
if luku > luku2:
____print("Tämä tulostetaan")
else:
____print("Ei kun tämä")


Roskapostituksen esto
Valitse mikä tahansa numero, joka on suurempi kuin 2.