V bežnom živote sa stretávame s podmienkami každý deň, napríklad:
Podmienky sú základným stavebným kameňom každého programovacieho jazyka. Umožňujú nám vykonávať rôzne časti kódu v závislosti od splnenia alebo nesplnenia určitých podmienok.
if podmienka:
# kód, ktorý sa vykoná, ak je podmienka True
príkaz1
príkaz2
...
# kód za podmienkou, ktorý sa vykoná vždy
ďalší príkaz
vek = 18
if vek >= 18:
print("Si dospelý!")
print("Vstup povolený...")
print("Tento text sa zobrazí vždy.")
Výstup:
vek:
vek = 15
if vek >= 18:
print("Si dospelý!")
print("Vstup povolený...")
print("Tento text sa zobrazí vždy.")
Výstup:
Ak chceme vykonať jednu akciu, keď je podmienka splnená, a inú, keď podmienka splnená nie je:
if podmienka:
# kód, ktorý sa vykoná, ak je podmienka True
príkaz1
else:
# kód, ktorý sa vykoná, ak je podmienka False
príkaz2
vek = 16
if vek >= 18:
print("Si dospelý!")
print("Vstup povolený...")
else:
print("Ešte nie si dospelý.")
print("Vstup zakázaný...")
print("Tento text sa zobrazí vždy.")
Výstup:
vek:
vek = 21
if vek >= 18:
print("Si dospelý!")
print("Vstup povolený...")
else:
print("Ešte nie si dospelý.")
print("Vstup zakázaný...")
print("Tento text sa zobrazí vždy.")
Výstup:
Použijeme, ak potrebujeme otestovať viacero podmienok. Je možné použiť toľko vetiev elif, koľko chceme. Časť kódu za else sa vykoná iba ak ani jedna z uvedených možností v if, elif nebola splnená.
if podmienka1:
# kód, ktorý sa vykoná, ak je podmienka1 True
príkaz1
elif podmienka2:
# kód, ktorý sa vykoná, ak je podmienka1 False a podmienka2 True
príkaz2
elif podmienka3:
# kód, ktorý sa vykoná, ak sú podmienka1 a podmienka2 False a podmienka3 True
príkaz3
elif podmienka4:
# kód, ktorý sa vykoná, ak sú podmienka1, podmienka2, podmienka3 False a podmienka3 True
príkaz4
else:
# kód, ktorý sa vykoná, ak všetky predchádzajúce podmienky sú False
príkaz5
body = 70
if body >= 88:
znamka = "výborný"
elif body >= 73:
znamka = "chválitebný"
elif body >= 50:
znamka = "dobrý"
elif body >= 30:
znamka = "dostatočný"
else:
znamka = "nedostatočný"
print(f"Tvoja známka je: {znamka}")
Výstup:
Pomocou logických operátorov môžeme kombinovať viacero podmienok:
| Operátor | Význam | Príklad |
|---|---|---|
| and | logické A (obe podmienky musia byť splnené) | a > 5 and a < 10 (a je väčšie ako 5 A zároveň menšie ako 10) |
| or | logické ALEBO (aspoň jedna podmienka musí byť splnená) | a < 5 or a > 10 (a je menšie ako 5 ALEBO väčšie ako 10) |
| not | logická negácia (obráti pravdivostnú hodnotu) | not a == 5 (a sa nerovná 5) |
vek = 25
obcan = True
if vek >= 18 and obcan:
print("Môžeš voliť!")
else:
print("Nemôžeš voliť.")
teplota = 5
if teplota < 0 or teplota > 30:
print("Extrémne počasie!")
else:
print("Bežné počasie.")
dospely = True
if not dospely:
print("Nie si dospelý.")
else:
print("Si dospelý.")
Výstup:
Napíšte program, ktorý načíta dve čísla a operáciu (+, -, *, /) a vykoná príslušnú matematickú operáciu. Ak používateľ zadá delenie nulou, program by mal zobraziť chybovú správu.
cislo1 = float(input("Zadaj prvé číslo: "))
cislo2 = float(input("Zadaj druhé číslo: "))
operacia = input("Zadaj operáciu (+, -, *, /): ")
if operacia == "+":
vysledok = cislo1 + cislo2
print(f"{cislo1} + {cislo2} = {vysledok}")
elif operacia == "-":
vysledok = cislo1 - cislo2
print(f"{cislo1} - {cislo2} = {vysledok}")
elif operacia == "*":
vysledok = cislo1 * cislo2
print(f"{cislo1} * {cislo2} = {vysledok}")
elif operacia == "/":
if cislo2 == 0:
print("Chyba: Delenie nulou nie je možné!")
else:
vysledok = cislo1 / cislo2
print(f"{cislo1} / {cislo2} = {vysledok}")
else:
print("Neplatná operácia! Použi +, -, * alebo /.")
Napíšte program, ktorý vypočíta index telesnej hmotnosti (BMI) a určí kategóriu podľa nasledujúcich pravidiel:
BMI sa vypočíta ako hmotnosť (kg) delená druhou mocninou výšky (m²).
Napíšte program, ktorý načíta súradnice bodu (x, y) a určí, v ktorom kvadrante sa bod nachádza. Nezabudnite na prípady, keď bod leží na osiach.
Vylepšite ChatBota o otázky, na ktoré si môže užívateľ zvoliť z ponúkaných možností na výlet. Napríklad sa opýta, či užívateľ preferuje prírodu alebo mesto. Ak si zvolí prírodu, reaguje vetou: Super, aj ja mám rád prírodu!. Ak si zvolí mesto odpovie: Rozumiem, máš radšej civilizáciu! Ak odpovie niečím iným, reaguje neurčito: Aj to je jedna možnosť.
1. Ktorým slovom začína jednoduchá podmienka v Pythone?
a) when2. Ako sa v Pythone označuje operátor rovnosti?
a) =3. Ktorý logický operátor použijeme, ak potrebujeme, aby boli splnené obe podmienky?
a) or4. Čo sa stane, ak podmienka v príkaze if je vyhodnotená ako False?
a) Vykoná sa kód v bloku if5. Aký je výsledok výrazu: (1 > 2 or 3 > 2) and 5 => 5
a) True6. Ako sa v Pythone píše blok "inak ak" (else if)?
a) elseif7. Ako sa v Pythone oddeľujú bloky kódu v podmienkach?
a) Pomocou zložených zátvoriek { }8. Aký je výsledok výrazu: not (5 > 10) or 100 != 100
a) True9. Ktorý z nasledujúcich výrazov je syntakticky správny?
a) if (x == 5) { print("Rovné 5") }10. Aký bude výstup nasledujúceho kódu?
x = 10
if x > 5:
print("A")
elif x > 8:
print("B")
else:
print("C")
a) A