Računalniku pogosto želimo povedati nekaj v tem smislu: »če je izpolnjen nek pogoj, naredi to, sicer pa naredi nekaj drugega«. Pogojno izvrševanje stavkov v pythonu izrazimo takole:
if pogoj: stavek_A1 stavek_A2 ... else: stavek_B1 stavek_B2 ...
Pogojni stavek je sestavljen iz dveh blokov – skupkov stavkov. Če je pogoj
izpolnjen, se bodo po vrsti izvršili stavki v bloku if
(stavek_A1
, stavek_A2
itd.), stavki v bloku else
(stavek_B1
, stavek_B2
itd.) pa se bodo preskočili, sicer pa bo ravno obratno. Blok else
lahko tudi izpustimo. Besedi if
in else
imata v pythonu poseben pomen. Pravimo, da gre za rezervirani besedi. To pomeni, da ju ne moremo uporabiti za imena spremenljivk.
Vsi stavki znotraj blokov if
in else
morajo biti zamaknjeni za enako število presledkov oz. tabulatorskih premikov. Ponavadi uporabljamo dva ali štiri presledke ali en tabulatorski premik. Zamikanje močno izboljša preglednost kode. V pythonu je obvezno, v večini drugih programskih jezikov pa se moramo vanj prisiliti sami.
Oglejmo si primer uporabe pogojnega stavka. Za dnevno vstopnico za plavalni bazen plačajo polnoletni polno ceno, mladoletni pa jo dobijo pol ceneje. Napišimo program bazen.py
, ki v realnoštevilsko spremenljivko cena
prebere polno ceno, v celoštevilsko spremenljivko starost
pa starost osebe, nato pa izpiše ustrezno ceno vstopnice:
Preizkusimo program:
> python3 bazen.py Koliko stane vstopnica? 6.5 Koliko let imaš? 21 Vstopnica zate stane 6.5 EUR. > python3 bazen.py Koliko stane vstopnica? 6.5 Koliko let imaš? 17 Vstopnica zate stane 3.25 EUR.
Operator >=
pomeni enako kot v matematiki ≥, torej večje ali enako kot. Uporabljamo tudi te primerjalne operatorje: >
(večje od), <
(manjše od), <=
(manjše ali enako kot), ==
(enako kot) in !=
(različno od). Bodimo pozorni na razliko med operatorjema =
in ==
. Operator =
vpiše vrednost desne strani v spremenljivko na levi strani, operator ==
pa ugotovi, ali sta vrednosti na levi in desni strani enaki.