Na poslednej hodine sme sa venovali cyklu - je to konštrukcia, ktorá nám umožňuje ľahko vykonať nejaký príkaz alebo skupinu príkazov opakovane. Príkazy, ktoré chceme zopakovať tak nemusíme v kóde kopírovať, stačí použiť cyklus a určiť, koľkokrát sa vykonajú príkazy v ňom (v tele cyklu). Pre zopakovanie si pozri kód nižšie.
for i in range(10):
print("tkinter je najlepsia knizica na svete 💙")
použitie cyklu for
Tento program vypíše 10 krát vetu "tkinter je najlepsia knizica na svete 💙". Pozor na dvojbodku na konci prvého riadku a na odsadenie (tabulátor) na začiatku ostatných riadkov, ktoré určuje, ktoré riadky tvoria telo cyklu a budú sa opakovať daný počet krát.
Všimnite si prvý riadok v definícii cyklu "for i in range():". Vo voľnom preklade by sme možno povedali "pre i v rozsahu 10", táto "veta" a aj jej preklad naozaj dávajú zmysel - i je totižto premenná a postupne, počas vykonávania cyklu sa v nej vyskytnú všetky čísla v rozsahu 10, konkrétne čísla 0, 1, 2, 3, 4, 5, 6, 7, 8, a 9. To, že i je premenná si ľahko overíte, skúste namiesto i napísať do programu iný platný názov premennej, napríklad vevericka
for vevericka in range(10):
print("slon")
iteračnú premennú cyklu for môžeme premenovať
Iteračná premenná je platná v tele cyklu a môžeme ju používať. Pozor! Do iteračnej premennej nebudeme v cykle priraďovať žiadne hodnoty, môžeme ju však použiť vo výpočtoch a výpisoch. Premenná je užitočná, pretože sa ňou odlyšujú jednotlivé behy cyklu - v našom kóde sa cyklus vykoná 10 krát, najprv tak, že premenná vevericka má v sebe hodnotu 0, potom 1, potom 2 ... až 9. Pozri sa na kód:
for vevericka in range(10):
print("v iteracnej premennej je hodnota", vevericka)
Vypíše:
v iteracnej premennej je hodnota 0
v iteracnej premennej je hodnota 1
v iteracnej premennej je hodnota 2
v iteracnej premennej je hodnota 3
v iteracnej premennej je hodnota 4
v iteracnej premennej je hodnota 5
v iteracnej premennej je hodnota 6
v iteracnej premennej je hodnota 7
v iteracnej premennej je hodnota 8
v iteracnej premennej je hodnota 9
Príkaz range() môžeme použiť s rôznym počtom parametrov: