timohei.net / Opintojaksot / Opintojaksot / Automaation IoT-projekti / Python-ohjelmointi /
Pythonissa käytetään ehtolausekkeissa matematiikasta tuttuja loogisia ehtoja. Ne merkitään Pythonissa seuraavasti:
| Yhtäsuuri kuin | a == b |
| Erisuuri kuin | a != b |
| Pienempi kuin | a < b |
| Pienempi tai yhtäsuuri kuin | a <= b |
| Suurempi kuin | a > b |
| Suurempi tai yhtäsuuri kuin | a >= b |
if
if eli jos-ehtolause suorittaa jälkeensä tulevan komennon, mikäli ehtolauseke on tosi:
a = 123
b = 234
if b > a:
print("b on suurempi kuin a")
Annetuilla arvoilla ehtolauseke b > a antaa tulokseksi True, joten seuraava rivi suoritetaan ja näytölle tulostuu b on suurempi kuin a.
Suoritettavia rivejä voi olla useampikin. Kaikki ehtolausetta välittömästi seuraavat sisennetyt rivit suoritetaan, jos ehto toteutuu.
Huomaa ehtolauseen lopussa oleva kaksoispiste - se on pakollinen!
elif
elif tarkoittaa "else if". Mikäli if-rivin ehto ei toteutunut, elif-rivillä voidaan testata seuraava ehto. elif-ehtorivejä voi olla useita peräkkäin.
a = 123
b = 123
if b > a:
print("b on suurempi kuin a")
elif a == b:
print("a ja b ovat yhtäsuuria")
else
else-lauseen jälkeinen osuus suoritetaan, jos if- tai mikään elif-lauseista ei toteutunut. Huomaa, että else-riville ei tule ehtolauseketta!
a = 200
b = 100
if b > a:
print("b on suurempi kuin a")
elif a == b:
print("a ja b ovat yhtäsuuria")
else:
print("a on suurempi kuin b")
Sisäkkäinen if
if-lauseita voi olla sisäkkäin. Huomaa, että jälkimmäinen if-lauseke kuuluu ensimmäisen sisään, joten sen pitää olla sisennettynä. Jälkimmäisen if-lausekkeen suoritettavat rivit pitää sisentää vielä lisää:
a = 100 if a > 10:.... print("a on suurempi kuin 10").... if a > 20:........ print(" ja suurempi kuin 20.").... else:........ print(", mutta ei suurempi kuin 20.")
Yhden rivin if
Mikäli ehdon toteutuessa tarvitsee suorittaa vain yksi komento, voi käyttää yhden rivin muotoa (short hand if):
a = 100
b = 10
if a > b: print("a on suurempi kuin b")
Yhden rivin if ... else
Myös if ... else-rakenne voidaan toteuttaa yhdellä rivillä:
a = 100
b = 200
print("a on suurempi") if a > b else print("b on suurempi")
else-lausekkeita voi olla useita:
a = 300
b = 300
print("a on suurempi") if a > b else print("a on yhtä suuri kuin b") if a == b else print("b on suurempi")
pass
if-lausekkeessa täytyy olla osa, joka suoritetaan ehdon toteutuessa. Mikäli jostain syystä mitään ei kuitenkaan haluta suorittaa, voidaan suoritusosaan virheilmoituksen välttämiseksi sijoittaa pass-käsky, joka ei tee mitään. Tämä voi olla tarpeen esimerkiksi kun ohjelmaa halutaan testata keskeneräisenä.
a = 100
b = 200
if b > a:
pass
Loogiset operaatiot
and
a = 200
b = 33
c = 500
if a > b and c > a:
print("Molemmat ehdot ovat tosia")
or
a = 200
b = 33
c = 500
if a > b or a > c:
print("Ainakin yksi ehdoista on tosi")