Programátoři se neradi opakují. Programování je o automatizaci: nebudeme zdravit každého člověka zvlášť, vezměme seznam padesáti lidí a pozdravíme je všechny najednou!
(No, někteří programátoři asi nejsou moc sociálně nadaní. Ale jinde se ta automatizace fakt hodí!)
Ještě si vzpomínáš na seznamy? Udělej si seznam jmen:
jmena = ['Rachel', 'Monica', 'Phoebe', 'Ola', 'Ty']
Udělejme program, který:
V Pythonu se takový cyklus – opakování „pro každý prvek seznamu“ – píše
pomocí příkazu for:
for jmeno in jmena:
pozdrav(jmeno)
Celý program bude tedy vypadat takto:
def pozdrav(jmeno):
print('Vítam tě,', jmeno)
jmena = ['Rachel', 'Monica', 'Phoebe', 'Ola', 'Ty']
for jmeno in jmena:
pozdrav(jmeno)
A když ho spustíme:
$ python3 python_intro.py
Vitam ťa, Rachel
Vitam ťa, Monica
Vitam ťa, Phoebe
Vitam ťa, Ola
Vitam ťa, Ty
Jak vidíš, vše, co jsi vložila dovnitř příkazu for s odsazením,
se zopakuje pro každý prvek seznamu jmena.
Cyklus for můžeš použít i s jinými hodnotami než se seznamy.
Často se používá s funkcí range().
Když chceš něco 200-krát zopakovat, napiš:
for i in range(200):
print("Nebudu nikdy házet igelit do táboráku!")
Jak to funguje?
for i in range(X) se dá přeložit jako „pro každé číslo
od nuly do X“.
Funkce range onu posloupnost čísel od nuly do X vytvoří.
Do proměnné i Python postupně uloží každé číslo, podle toho po kolikáté
cyklem prochází.
for i in range(5):
print(i)
0
1
2
3
4Všimni si, že samotné 5 není zahrnuto ve výsledku:
range(5) počítá od 0 do 4.
Když počítáš od nuly a chceš pět čísel, skončíš u čtyřky.
A je to. Jsi naprosto skvělá! Tohle byla složitá lekce, takže bys na sebe měla být hrdá. My jsme na tebe velmi hrdí za to, že ses dostala tak daleko!
Naučila ses:
range pomáhá když potřebuješ určitý konkrétní počet opakování.Můžeš si jít krátce odpočinout – protáhnout se, projít se, zavřít oči – než se pustíme do další kapitoly. :)
🧁