
Python — for loops (smyčky)
Pythonfor smyčku (angl. loop) využijete, když chcete opakovat (iterovat) část kódu.
Procházení list
Máme seznam 4 lidí. Pro každé jméno chceme zobrazit větu pomocí funkce print.
První možností je, že použijeme copy+paste a pro každé jméno budeme mít jeden řádek kódu.
To je udržitelná metoda pouze v případě, že máme pár jmen. Co když se ale počet zvýší a my budeme muset pracovat se stovkou nebo tisícovkou jmen?
Pak bude přehlednější smyčka for.
lide = ['Adam', 'Eva', 'Kain', 'Abel']
for clovek in lide:
print(f"{clovek} je boží!")
Adam je boží!
Eva je boží!
Kain je boží!
Abel je boží!
Všimněte se, že jsme pro jednotlivé elementy v seznamu lide, použili jméno proměnné clovek. To přispívá k lepší čitelnosti kódu.
Procházení dict — klíče
K procházení (iterování) můžeme použít i další datové typy, které fungují jako iterátory - tzn. obsahují více hodnot, které může Python procházet. Jedním z nich je dictionary.
lide = {'Adam': 1, 'Eva': 2,
'Kain': 3, 'Abel': 4}
for clovek in lide:
print(f"{clovek} je boží!")
Adam je boží!
Eva je boží!
Kain je boží!
Abel je boží!
Python nám zobrazil pouze klíčové hodnoty (keys) z dictionary. Co kdybychom potřebovali zobrazit jak klíč (key), tak i hodnotu (value)? Tedy např. Adam je 1!?
Procházení dict — klíče a hodnoty
K procházení klíčů a hodnot v dictionary můžeme použít metodu items(), která vrátí 2 hodnoty - klíč (key) a hodnotu (value).
lide = {'Adam': 1, 'Eva': 2,
'Kain': 3, 'Abel': 4}
for clovek, cislo in lide.items():
print(f"{clovek} je {cislo}!")
Adam je 1!
Eva je 2!
Kain je 3!
Abel je 4!
Proveď na konci — else
Smyčka for může obsahovat volitelnou část else, která se provede, když se seznam hodnot vyčerpá.
lide = {'Adam': 1, 'Eva': 2,
'Kain': 3, 'Abel': 4}
for clovek, cislo in lide.items():
print(f"{clovek} je {cislo}!")
else:
print(f"Prošel jsem všechny lidi. Byli celkem {len(lide)}.")
Adam je 1!
Eva je 2!
Kain je 3!
Abel je 4!
Prošel jsem všechny lidi. Byli celkem 4.
Přerušení smyčky — break
Ze smyčky také můžeme "vyskočit" pomocí break a předčasně ji tak ukončit. Všimněte si, že se část else neprovede.
lide = {'Adam': 1, 'Eva': 2,
'Kain': 3, 'Abel': 4}
for clovek, cislo in lide.items():
if clovek == 'Kain':
break
print(f"{clovek} je {cislo}!")
else:
# Tato část se neprovede kvůli použití break
print(f"Prošel jsem všechny lidi. Byli celkem {len(lide)}.")
Adam je 1!
Eva je 2!
Přeskočení iterace — continue
Pokud bychom chtěli Kaina pouze "přeskočit" a pokračovat ve smyčce dál, použijeme continue.
lide = {'Adam': 1, 'Eva': 2,
'Kain': 3, 'Abel': 4}
for clovek, cislo in lide.items():
if clovek == 'Kain':
continue
print(f"{clovek} je {cislo}!")
else:
# Tato část se provede
print('Hotovo.')
Adam je 1!
Eva je 2!
Abel je 4!
Hotovo.
Mohlo by vás zajímat
Blog

Přestaňte obviňovat model, začněte klást lepší otázky

Brzdí vás Excel? Vlastní datové aplikace rychle a bez programátorů.

Jak vytváříme jednoúčelové aplikace s pomocí AI
Kurzy

Python - základy

SQL pro každý den

Základy Tableau

Vizualizace dat v Canvě

Excelentní Triky 1

