Nadřazené | Programovací jazyk Python » Řízení výpočtu » Cyklus for v Pythonu |
Předcházející | Proměnné a číselné výrazy v Pythonu, Cykly s proměnnými |
Navazující | Cyklus while v Pythonu, Vnořené cykly v Pythonu, Řetězce v Pythonu, Seznamy v Pythonu |
Cykly při programování využíváme pro opakování skupiny příkazů. Opakování označujeme často pojmem iterace.
Cyklus for
využíváme, pokud dopředu víme, kolik opakování bude cyklus mít. V ostatních případech využíváme cyklus while.
Jednoduchý for cyklus
Základní využití cyklu for
je pro prosté opakování sady příkazů. Pomocí for i in range(10)
zopakujeme 10x sadu příkazů. Příkazy, které se mají opakovat, musíme odsadit. Takto tedy vypíšeme desetkrát Ahoj
:
for i in range(10):
print("Ahoj")
Řídící proměnná
V průběhu cyklu se mění hodnota řídící proměnné (ve výše uvedeném příkladu je to i
). V každém opakování cyklu tak můžeme provést něco trochu jiného v závislosti na aktuální hodnotě této proměnné. Jakých hodnot řídící proměnná nabývá určuje část za in
. Pokud použijeme základní range
, bude se řídící proměnná postupně zvětšovat o jedničku. Tento cyklus například vypíše čísla od 0 do 9:
for i in range(10):
print(i)
V rámci cyklu můžeme využívat více proměnných, pouze u řídící proměnné se však hodnota mění automaticky. Uvažme tento příklad:
= 1
y = 2
z for x in range(10):
= x + y + z
y print(x, y, z)
Řídící proměnnou cyklu je x
, jehož hodnota se tedy bude postupně měnit (od 0 po 9). U proměnné y
se bude hodnota měnit, protože v rámci cyklu máme přiřazovací příkaz do y
. Hodnota proměnné z
zůstane ve všech opakováních stejná, protože z
není řídící proměnná ani do ní v cyklu nic nepřiřazujeme.
Využití range
Při základním použití kombinujeme for cyklus s funkcí range
, která vrací interval čísel a řídící proměnná následně nabývá hodnot z tohoto intervalu.
Pozor: V informatice často počítáme od nuly (nikoliv od jedničky jako normální lidi). Na to narážíme i zde: range(n)
vrací hodnoty od 0
do n-1
.
Pokud funkci range
zadáme dva parametry, tj. voláme range(a, b)
dá nám interval čísel od a
do b-1
. Můžeme zadat i třetí parametr, který udává délku skoku. Příklady:
for x in range(5, 13): print(x, end=" ") # 5 6 7 8 9 10 11 12
for x in range(5, 16, 3): print(x, end=" ") # 5 8 11 14
for x in range(8, 0, -1): print(x, end=" ") # 8 7 6 5 4 3 2 1
For cyklus se dá využít nejen ve spojení s range
, ale i obecněji. Můžeme například použít seznamy:
for x in [3, 7, 10]:
print(x)
Ukázky použití for cyklu
Výpis informace o sudosti a lichosti prvních n
čísel:
= 20
n for i in range(1, n+1):
if i % 2 == 0:
print(i, "je sudé")
else:
print(i, "je liché")
Výpočet součtu čísel od 1
do n
:
= 10
n = 0
s for i in range(1, n+1):
= s + i
s print("Součet od 1 do", n, "je", s)
Výpis informaci o prvních n
mocninách dvojky:
= 10
n for x in range(1, n+1):
print("Dvojka umocněna na", x, "je", 2**x)
Rozhodovačka
Rychlé procvičování výběrem ze dvou možností.
Cyklus for v Pythonu (lehké)
45 zadání
Typicky zabere: 9 min

Cyklus for v Pythonu (střední)
46 zadání
Typicky zabere: 13 min

Kód kostky
Navigujte kostku po plánu podle zadaného programu. Procvičení schopnosti číst programy.
Kostky v Pythonu: for cyklus
Základní využití for cyklu v Pythonu je pro opakování nějaké posloupnosti příkazů.
Python želva
Tvorba programů v Pythonu, kreslení obrázků želví grafikou.
Opakování
Nyní využijeme opakování (pomocí for cyklu v Pythonu), což nám umožní snadno vykreslit třeba různé geometrické útvary.
Proměnné
Nyní přidáme proměnné, které nám umožní kreslit obrazce různé velikosti či zatáčet o proměnlivý úhel. To se hodí třeba na pěkné spirály.
Programování v Pythonu
Programování přímo v prohlížeči, s automatickým vyhodnocením správnosti programu.
Cyklus for
Cyklus for s vnořenou podmínkou
V této sadě jsou příklady, které se řeší pomocí cyklu for s vnořenou podmínkou (if).