Programy by boli nudné, keby vždy robili presne to isté. Príkaz if-else dáva programu schopnosť rozhodovať sa — robiť rôzne veci podľa okolností.
Základný príkaz if
if podmienka:
# tento blok sa vykoná, ak je podmienka True
teplota = 30
if teplota > 25:
print("Je horúco, vezmi si vodu.")
Ak je teplota väčšia ako 25, program vypíše správu. Ak nie, neurobí nič.
Príkaz if-else
Pridaním else určíš, čo sa stane, keď podmienka nie je splnená:
teplota = 15
if teplota > 25:
print("Je horúco, vezmi si vodu.")
else:
print("Je chladnejšie, vezmi si sveter.")
Python rozlišuje bloky kódu pomocou odsadenia (zvyčajne 4 medzery). Všetky riadky s rovnakým odsadením patria do rovnakého bloku. Toto je kľúčové pravidlo Pythonu — na odsadení záleží!
Príkaz elif
Keď potrebuješ viac ako dve vetvy, použiješ elif (skratka z "else if"):
body = 72
if body >= 90:
print("Výborný — 1")
elif body >= 75:
print("Chválitebný — 2")
elif body >= 60:
print("Dobrý — 3")
elif body >= 45:
print("Dostatočný — 4")
else:
print("Nedostatočný — 5")
Python prechádza podmienky zhora nadol a vykoná prvú, ktorá platí. Ostatné vetvy preskočí.
Príkaz elif nie je povinný — môžeš mať len if a else. Ale keď potrebuješ viac možností, elif je správna voľba. Počet elif blokov nie je obmedzený.
Porovnávacie operátory
Podmienky používajú tieto operátory:
| Operátor | Význam | Príklad |
|---|---|---|
== | rovná sa | x == 5 |
!= | nerovná sa | x != 0 |
< | menší ako | vek < 18 |
> | väčší ako | skore > 100 |
<= | menší alebo rovný | teplota <= 0 |
>= | väčší alebo rovný | vyska >= 150 |
Pozor na zámenu = (priradenie) a == (porovnanie). if x = 5 je chyba; správne je if x == 5. Toto je veľmi častá chyba začiatočníkov!
Vnorené podmienky
Podmienku môžeš vložiť do inej podmienky:
vek = 16
ma_preukaz = False
if vek >= 18:
if ma_preukaz:
print("Môžeš viesť auto.")
else:
print("Si plnoletý, ale nemáš preukaz.")
else:
print("Si príliš mladý na šoférovanie.")
Skrátený zápis (ternárny operátor)
Pre jednoduché podmienky existuje skrátený zápis na jednom riadku:
cislo = 7
popis = "párne" if cislo % 2 == 0 else "nepárne"
print(popis) # nepárne
Cvičné príklady
Čo vypíše tento kód? x = 15; if x > 10: print('A'); elif x > 5: print('B'); else: print('C')
Zobraziť odpoveď
Napíš príkaz if-elif-else, ktorý vypíše 'ráno' pre hodiny 6–11, 'poludnie' pre 12–17, 'večer' pre 18–21 a 'noc' pre ostatné hodiny.