< Všechna témata
Tisk

Cykly


Používáme je na opakování kódu, procházení dat.

Buď dle určitého počtu nebo dokud není splněna nějaká podmínka.

Python poskytuje dva hlavní typy cyklů: for a while.


For cyklus

Je nezbytný nástroj pro procházení sekvencí prvků (data v seznamu nebo jiné iterované objekty (řetězce, slovníky, soubory, atd.)

Zdroj obrázku: https://files.realpython.com/media/Python-for-Loops-Definite-Iteration_Watermarked.9c0d36b6de30.jpg

Tento cyklus vždy obsahuje pevný počet opakování, který se rovná počtu prvků v sekvenci.

Syntaxe:

for prvek in sekvence:
    # blok kódu, který se má provést

Práce s range()

Funkce range() je používána v for cyklech pro generování číselné sekvence.

Její základní použití je pro definici počtu opakování cyklu.

Funkce má tři parametry, syntaxe: range(začátek, konec, krok)

  • Začátek určuje, na kterém indexu začíná (výchozí je 0) – nepovinný parametr
  • Konec určuje, na kterém indexu končí – povinný parametr
  • Krok určuje způsob zvyšování – po dvou, deseti, atd.. (výchozí je 1), nepovinný parametr

Funkci range() tedy můžeme mít s jedním až třemi parametry:

  • range(n) – vrátí čísla od nuly do n-1 (do n, které už zahrnuto není)
  • range(m, n) – vrátí čísla od m do n-1
  • range(m, n, i) – vrátí čísla od m a každé další i-té číslo do n-1

Příklad:

# Vypíše čísla od 0 do 4
for i in range(5):
    print(i)

# Vypíše čísla od 1 do 5
for i in range(1, 6):
    print(i)

# Vypíše čísla od 1 do 10 s krokem 2 (tj. 1, 3, 5, 7, 9)
for i in range(1, 11, 2):
    print(i)


While cyklus

Opakuje příkazy v bloku, dokud platí podmínka.

Zdroj obrázku: https://files.realpython.com/media/Python-while-Loops-Indefinite-Iteration_Watermarked.2dfa40d8e92c.jpg

Tento cyklus používáme, když nevíme předem, kolikrát potřebujeme provést iteraci.

Syntaxe:

while podminka:
    # blok kódu, který se má provést

Základní příklad:

i = 0
while i < 5:
    print(i)
    i += 1

Tento kód vypíše čísla od 0 do 4. Proměnná i je zde inkrementována (zvyšována) v každé iteraci (opakování), což zabraňuje nekonečnému cyklu.

Break a continue

V while cyklu můžeme také použít příkazy break a continue pro dodatečnou kontrolu průběhu cyklu.

  • break – okamžitě ukončí cyklus
  • continue – přeskočí zbytek kódu v cyklu a přejde k další iteraci.

Příklad:

i = 0
while i < 10:
    i += 1
    if i == 5:
        continue  # Přeskočí tisk čísla 5
    if i == 8:
        break  # Ukončí cyklus, když i dosáhne 8
    print(i)

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