Useampia ehtoja voidaan käsitellä kirjoittamalla elifi -haaroja if lauseeseen. Näitä voi olla kuinka monta tahansa. Viimeiseksi voi myös kirjoittaa else -haaran.
if (totuusarvolause): sisennetyt käskyt, jos totuusarvolause on totta elif (toinen totuusarvolause): sisennetyt käskyt, jos toinen totuusarvolause on totta elif (kolmas totuusarvolause): sisennetyt käskyt, jos kolmas totuusarvolause on totta . . . else: mahdolliset käskyt, jos mikään edellisistä ei ollut totta
luku = input("Anna kokonaisluku") #kysytään luku luku = int(luku) #muuta vastaus luvuksi if (luku == 0): print("Annoit nolla") elif (luku < 0): print("Annoit pienemmän kuin nolla") elif (luku > 0): print("Annoit suuremman kuin nolla")
Huomaa!
Jos ylempi elif -haara toteutuu, niin alempia ei enää tutkita:
luku = input("Anna kokonaisluku") #kysytään luku luku = int(luku) #muuta vastaus luvuksi if (luku == 0): print("Annoit nolla") elif (luku > 0): print("Annoit suuremman kuin nolla") elif (luku == 10): print("Annoit luvun 10") #tämä ei koskaan toteudu #ylempi elif toteutuu #kaikilla luvuilla > 0
and, or ja not -sanoilla voidaan ehtolauseesta tehdä monimutkaisempi ja ilmaisuvoimaisempi.
Esimerkiksi ilmaisu Jos (luku ei ole nolla) voidaan esittää usealla tavalla:
if (luku != 0): luku ei ole nolla
if (luku < 0 or luku > 0): luku ei ole siis nolla
if (not(luku == 0)): luku ei ole nolla
luku = input("Anna kokonaisluku") #kysytään luku luku = int(luku) #muuta vastaus luvuksi if (luku == 0): print("Annoit nollan") if (luku < 0 or luku > 0): print("Et antanut nollaa.") if (not(luku == 0)): print("Et antanut lukua 0") if (luku < 0 and luku > 0): print("Tätä ilmoitusta ei tule koskaan")
Olkoon lause A "kävit kaupassa".
Olkoon lause B "kävit kioskilla".
Lause A ja lause B kumpikin voi saada totuusarvon True tai False.
Tällöin lause "kävit kaupassa ja kävit kioskilla" eli "A and B" on totta vain jos molemmat erilliset lauseet ovat totta.
Voimme tehdä totuustaulun sanasta and:
and | A | B | A and B |
True | True | True | |
True | False | False | |
False | True | False | |
False | False | False |
Totuustaulu sanasta or eli tai -sanasta:
or | A | B | A or B |
True | True | True | |
True | False | True | |
False | True | True | |
False | False | False |
Totuustaulu sanasta not:
not | A | not(A) |
True | False | |
False | True |
from browser import confirm kauppa = confirm("Kävitkö kaupassa? Ok = True, Peruuta = False") kioski = confirm("Kävitkö kioskissa? Ok = True, Peruuta = False") print(kauppa and kioski) print(kauppa or kioski)
Huomaa!
Yllä olevassa esimerkissä käytettiin confirm -kysymystä,
mikä vaatii ohjelman alkuun
from browser import confirm.
Kirjoita ohjelma, mikä kysyy mielipidettä kolmesta ruokalajista.
Jos käyttäjä pitää kaikista, ohjelma tulostaa: "Pidit kaikista ruokalajeista."
Jos käyttäjä piti yhdestä ruokalajista, ohjelma tulostaa: "Olet melko valikoiva."
Jos käyttäjä ei pitänyt mistään ruokalajista, ohjelma tulostaa: "Olet nirso."
Vihje: Voit käytää funktioita ja funktion palautusarvoa kysymyksiin.
Suorita tehtävät Editorilla ja tallenna työsi Tiedostona.
Kirjoita ohjelma, mikä arpoo kruunan tai klaavan kolme kertaa.
Ohjelma kysyy käyttäjältä arvausta "kruuna vai klaava" ja antaa kysymyksien jälkeen tuloksen, montako kertaa käyttäjä arvasi oikein.
Vihje: import random, random.randint(0,1) , voit käyttää funktioita ja palautusarvoja.
Suorita tehtävät Editorilla ja tallenna työsi Tiedostona.