Pogojni stavki

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:


Izvedi Počisti



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.