Ehtorakenteiden avulla ohjelma voi toimia eri tavalla erillaisissa tilanteissa, aina sen mukaan minkälaista tietoa sille syötetään.
Selkeä esimerkki tällaisesta ehtorakenteesta on salasanan kysely. Kun salasanaa tarkastellaa syötetyn ja tallennetun salasanan välillä, pitää ehtojen täyttyä, että voidaan edetä ohjelmassa eteenpäin. Eli käyttäjän syöttämä salasana pitää vastata oikeaa salasanaa.
Totuusarvo voi olla joko 'tosi' (TRUE) tai 'epätosi'(FALSE). Esimerkiksi "käyttäjän nimi ei ole Juha" ja "syötetty salasana on SanaSala". Totuusarvot voivat olla ensimmäisellä yrittämällä epätosia ja toisella yrittämällä epätosia. Totuusarvot voivat olla myös käyttäjän nimen osalta tosia, mutta salasanan osalta epätosia.
Totuusarvoja voidaan tarkastella vertailemalla niiden lukuarvoa tai merkkijonon samankaltaisuutta. Totuusarvoja voidaan vertailla myös vertailemalla esimerkiksi onko joku lukuarvo suurempi, tai pienempi kuin toinen, tai onko ne samansuuruisia. Tällaista vertailua voidaan käyttää esimerkiksi yksinkertaisessa lämpötilan säädössä:
lampo_tila1 = "sisalampotila"
lampo_tila2 = "asetusarvo"
if lampo_tila1 < lampotila2 : # Jos sisälämpötila on pienempi kuin asetusarvo, eli ehto on tosi
print("Hyrrr! Kylmä! Pistetään lämmitys päälle!") # edellä olevan ehdon mukaan laitetaan lämmitys päälle
else: # Koska edellä esitelty ehto ei täyty
print("Mmm.. mukavan lämmintä") # ollaan kohtaloomme tyytyväisiä
Eli ehto rakenteella voidaan vaikuttaa ohjelman kulkuun eri tavoin. Voidaan toteuttaa jokin toiminto jos se on tosi. Toisaalta voidaan tehdä jotain muuta tai jättää toiminto toteuttamatta jos ehtolausekkeen totuusarvo on epätosi.
KOKEILE
X = 3
Y = 2
X == Y X on sama kuin Y
X != Y X ei ole sama kuin Y
X < Y X on pienempi kuin Y
X <= Y X on pienempi tai sama kuin Y
X > Y X on suurempi kuin Y
X >= Y X on suurempi tai sama kuin Y
Ehtoja voidaan myös yhdistellä useamman ehdon yhdistelmäksi.
KOKEILE
a = 0
b = 2
print(0 < 1 < 2) # True
print(a < b < 1) # False
print(a < b == 2) # True
Kun vertaillaan merkkijonoja, 'pienempi kuin' ja 'suurempi kuin' ehdoissa vertaillaan merkkijonojen aakkosjärjestystä.
KOKEILE
nimi = "Heini"
vuosi = 1673
print(vuosi == 1726) # False
print(nimi != "Antti") # True
print(vuosi < 1600) # False
print(vuosi >= 1672) # True
print(nimi > "Antti") # True