If - elif - else

Viime tunnilla tutustuttiin valintarakenteeseen if-else, jossa valinta tapahtui seuraavasti

if [jokin ehto]:
jos ehto voimassa toteutetaan tämä rivi
else:
Jos ehto ei ollut voimassa toteutetaan tämä rivi

Nyt laajennetaan valintaa siten, että voi olla useampi ehto, joiden perusteella koodia toteutetaan.

if [ehto1]
jos ehto 1 pätee, toteutetaan tämä rivi
elif [ehto2]
jos ehto2 pätee, toteutetaan tämä rivi
elif [ehto3]
jos ehto3 pätee, tämä rivi
else
muussa tapauksessa toetutetaan tämä rivi

Esimerkikkikoodissa voisi kysyä lämpötilaa ja ohjelma kertoo onko lämpö plussalla vai pakkasella. Ja mikäli kumpikaan ehto ei toteudu, on lämpötila silloin 0. Huomaa, että syötettä kysyttäessä se määritellään kokonaislukutyyppiseksi int-määritteellä (ylimmällä rivillä).

lampo = int(raw_input("Kerro lämpötila "))
if lampo>0:
print"Plussalla ollaan"
elif lampo<0:
print"Pakkasta"
else:
print"Ilmeisesti on nollakeli"

Huomaa, että ohjelmaa kirjoitettaessa on ehtojen jälkeiset rivit sisennettävä. (Pedanet ei niitä tässä suostu sisentämään.)

Huomaa, että tulostettaessa eri muuttujatyyppejä sekaisin, on syytä jättää sulkeet pois print-komennon jälkeen.

Esim. jos käyttäjältä kysytään kaksi lukua ja halutaan tulostaessa näytölle kirjoittaa myös lasku näkyviin kannatta tehdä koodi alla olevan esimerkin mukaan.

luku1=int(raw_input("Anna luku "))
luku2=int(raw_input("Anna toinen luku "))
print luku1,"+",luku2,"=",luku1+luku2

Tällöin ohjelman ajo näyttäisi tältä:





Peda.net käyttää vain välttämättömiä evästeitä istunnon ylläpitämiseen ja anonyymiin tekniseen tilastointiin. Peda.net ei koskaan käytä evästeitä markkinointiin tai kerää yksilöityjä tilastoja. Lisää tietoa evästeistä