Nauč se Python > Kurzy > Hadí workshop pro PyLadies > Úvod do Pythonu > Cykly

Cykly #

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']

Se seznamem pak budeš chtít udělat tohle:

  • Pro každé jméno ze seznamu jmen:
    • pozdrav daným jménem

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.

Opakuj n-krát #

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("Už nikdy nebudu 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
4

Vš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.

Shrnutí #

Naučila ses:

  • Cyklus je způsob, jak opakovat nějaký postup několikrát po sobě
  • range pomáhá když potřebuješ určitý konkrétní počet opakování.

Toto je stránka lekce z kurzu, který probíhá nebo proběhl naživo s instruktorem.