< Všechna témata
Tisk

Podmínky – větvení


Podobně, jako ostatní programovací jazyky, i Python obsahuje příkazy pro řízení toku programu. Ty nazýváme zjednodušeně podmínky.

Doteď náš program jen vypisoval, co jsme mu řekli – bez rozmyslu. Teď to začne být zajímavé. Co kdyby se program rozhodoval podle toho, co uživatel zadá?

  • Je ti víc než 18? → můžeš řídit auto.
  • Máš slevu? → dostaneš 10 % dolů.
  • Zadáš špatné heslo? → program tě nepustí dál.

Podobná rozhodování jako lidé provádíme denně a možná si to ani neuvědomujeme.


Základní konstrukce if /elif / else

Nejznámější, nejjednodušší a zároveň nejpoužívanější příkaz pro řízení toku. S jeho pomocí můžeme spustit jakýkoliv jiný příkaz. Implementuje nejjednodušší rozhodovací mechanismus, je-li nějaká podmínka pravdivá, vykoná určitý blok kódu.

if

Nejjednodušší podmínka má klíčové slovo if (když) a nějaký výraz, který se vyhodnotí jako pravdivý (True) nebo nepravdivý (False).

cislo = 5
if cislo > 3:
    print("Číslo je větší než 3.")

Pokud je podmínka splněná (tedy True), provede se blok kódu pod ní. Jinak ne.

POZOR:

  • Dvojtečka : na konci řádku s if je povinná!
  • Odsazení (mezery) na začátku dalšího řádku je taky povinné (standardně 4 mezery nebo tabulátor).
  • Python totiž díky odsazení ví, co do podmínky „patří“.

else

Pomocí else můžeme určit, co se má stát, když podmínka neplatí:

vek = 16

if vek >= 18:
    print("Plnoletý")
else:
    print("Neplnoletý")

elif

elif znamená „také když“ a přidává další podmínku.
Hodí se, když má program více variant výstupu.

vek = int(input("Zadej věk: "))

if vek >= 65:
    print("Seniorská vstupenka")
elif vek >= 18:
    print("Dospělá vstupenka")
elif vek >= 12:
    print("Studentská sleva")
else:
    print("Dětské vstupné zdarma")

Python kontroluje podmínky shora dolů. Jakmile nějaká platí, ostatní přeskočí


Konstrukce match

Konstrukce match je implementována od verze 3.10. Podobá se konstrukce switch jazyka C++.

Umožňuje zjednodušit zápis více podmínek pod sebou.

Pomocí case testujeme přítomnost požadované hodnoty.

Ještě je možnosti case _:, ta zachytí hodnoty, které neodpovídají žádné předchozí case (podobně jako else)

html=int(input("Kód odpovědi"))

match html:
    case 200:
        print("OK - Požadavek byl úspěšně zpracován.")
    case 404:
        print("Not Found - Požadovaný zdroj nebyl nalezen.")
    case 500:
        print("Internal Server Error - Došlo k interní chybě serveru.")
    case _:
        print("Něco jiného se stalo.")

Operátory

VýznamOperátor
Je roven==
Je větší než>
Je větší nebo rovno>=
Je menší<
Je menší nebo rovno<=
Není rovný!=
Obecná negacenot
A zároveňand
Neboor

Zdroje

Seznam zdrojů

itnetwork.cz. Online. Dostupné z: https://www.itnetwork.cz/.

w3schools.com. Online. Dostupné z: https://www.w3schools.com/.

Python 3 documentation. Online. Dostupné z: https://docs.python.org/3/

SMOLKA, Pavel. Programovací jazyk Python [online]. Mendelova univerzita v Brně, 2019. Dostupné z: https://emendelu.publi.cz/book/771-programovaci-jazyk-python-pruvodce-studiem

ŠVEC, Jan. Učebnice jazyka Python (aneb Létající cirkus) [online]. 2002. Dostupné z: https://i.iinfo.cz/files/root/k/Ucebnice_jazyka_Python.pdf

PILGRIM, Mark. Ponořme se do Python(u) 3: Dive into Python 3. CZ.NIC. Praha: CZ.NIC, c2010. ISBN 978-80-904248-2-1.

PECINOVSKÝ, Rudolf. Python: kompletní příručka jazyka pro verzi 3.11. Knihovna programátora (Grada). Praha: Grada Publishing, 2023. ISBN 978-80-271-3891-3.

Další zdroje (Youtube, obrázky) jsou vždy uvedeny.

Obsah
© 2025 Lukáš Pospíšil