Loogiset operaattorit

Loogiset operaattorit toimivat yhdessä totuusmuuttujien kanssa.

not-operaattori

not-operaattorilla voi kääntää totuusmuuttujan arvon tai ehtolauseen ehdon päinvastaiseksi:

if not ylipaine:
    print("Ei vaaraa ylipaineesta")

Toinen esimerkki:

alkuaine = input("Anna suosikkialkuaineesi symboli\n")
if not (alkuaine == "Au"):
    print("Et taida olla alkemisti")

and-operaattori

and-operaattorilla voi yhdistää kaksi totuusmuuttujaa (tai ehtolauseen ehtoa). and-lauseen arvo on True, jos molempien ehtojen arvo on True:

if alkuaine1 == "Cu" and alkuaine2 == "O":
    print("Kuparioksidi")
    
if ylipaine and T > 410.0:
    print("Kriittiset olosuhteet!")

or-operaattori

or-operaattorilla voi myös yhdistää kaksi totuusmuuttujaa (tai ehtolauseen ehtoa). or-lauseen arvo on True, jos jommankumman ehdon arvo on True:

if kaasu == "He" or kaasu == "Ne":
    print("Jalokaasu")

if T < 200.0 or T > 300.0:
    print("Lämpötila ei ole optimaalinen reaktion kannalta")
# Ehtoja voi myös "ketjuttaa" useammalla or-lauseella: if kaasu == "He" or kaasu == "Ne" or kaasu == "Ar": print("Jalokaasu")

Loogisten ehtojen ryhmittely

Monimutkaisemmat ehdot on parasta ryhmitellä sulkujen avulla:

if massa > 200.0 or (tiheys > 22.59 and tilavuus > 10.0):
    print("Kappale on liian painava")

Syventävää tietoa: lyhennetty tapa kirjoittaa vertailuja 

Pythonissa voi myös yhdistää eri muuttujien vertailuja tavalla, joka on tuttu matematiikasta. Vertailulauseke

if 10 < luku and luku < 1000:

on mahdollista kirjoittaa myös lyhennetyssä muodossa:

if 10 < luku < 1000:

Jälkimmäinen versio siis "piilottaa" and-operaattorin. Lisätietoja aiheesta Pythonin virallisesta dokumentaatiossa .

Tehtävä 1.8.1