6. Cykly

Cykly sa opakujú do momentu, kedy bude splnená určitá podmienka, prípadne nejaká už nebude platná. Obyčajne for cyklus má určený presný počet iterácií, while funguje kým je splnená podmienka. Break môže prerušiť cyklus okamžite a continue sa presunie k nasledujúcej iterácii. Používajú sa hlavne na vykonávanie určitej činnosti viac ako jedenkrát - opakovane. 

Pre cykly/iterácie, prechádzanie cez rôzne dátové štruktúry (zoznam, string, čísla) využívame for. Napríklad pre výpis mien zo zoznamu

zoznam = ["Andrej Záborský", "Matej Bel", "Matúš Príkladný"]
for a in zoznam:
    print(a)  # Vypíšu sa všetky položky zo zoznamu

Vytvorila sa premenná a, ktorá sa použije na uloženie hodnoty zo zoznamu a následne na výpis až kým zoznam nebude prázdny. Pri každom výpise sa premenná prepíše na nasledujúcu hodnotu. Break môžeme použiť ak nájdeme hodnotu, ktorú sme hľadali alebo pre ukončenie cyklu. Continue je používané ak chceme určitú hodnotu vynechať napríklad z radu čísel.

for a in zoznam:
  print(a)
  if a == "Matej Bel":
    break  # V tomto prípade sa vypíše prvé a druhé meno, potom sa cyklus zruší

Pre prechádzanie hodnôt v presnom počte, používame funkciu range(). Ak nešpecifikujeme inak, začína od 0 a rastie o 1. Pre určenie spodnej hranice sa vloží argument:

for a in range(2, 10):
  print(a)  # Výpis čísiel od 2 do 9
if a == 9:
  print("Všetky čísla boli vypísané úspešne.")

Tretím paramentrom sa určuje aká hodnota sa bude pripočítavať.

Miesto for sa môže použiť while. Iteruje pokiaľ je podmienka splnená:

i = 0
while i < 12:
  print(i)
  i += 1 # i bude rásť o 1 pri každom prechode cyklu, vypíšu sa čísla od 0 do 11

Enumerate používame v prípade, ak chceme vypísať zoznam spolu s pozíciou.

for x, y in enumerate (zoznam):
    print (x, y) # 0 Andrej Záborský 1 Matej Bel 2 Matúš Príkladný