Nekonečné cykly jsou jako kolotoč, který se nikdy nepřestane otáčet. Programátor je může vytvořit, když potřebuje, aby určitý kód běžel znovu a znovu, dokud se nedosáhne určitého cíle nebo podmínky.
Podívejme se na příklad:
while True:
print("Toto je nekonecny cyklus!")
V tomto kódu while True: znamená, že cyklus bude pokračovat donekonečna (True = 1, což je vždy splněno). Program bude tisknout "Toto je nekonečný cyklus!" znovu a znovu.
Co když ale chceme nekonečný cyklus zastavit? K tomu použijeme příkaz break.
Příkaz break slouží k zastavení cyklu, pokud je splněna určitá podmínka.
while True:
odpoved = input("Mas hlad? ano/ne: ")
if odpoved == "ano":
print("Pojdme na svacinu!")
break
else:
print("Dobre, pokracujeme dal!")
V příkladu výše se program ptá hráče, jestli má hlad. Pokud hráč odpoví "ano", program vypíše "Pojďme na svačinu!" a příkaz break zastaví cyklus. V případě jiné odpovědi se cyklus zopakuje.
Ale co když nechceme zastavit celý cyklus, ale chceme pouze přeskočit některé kroky? K tomu použijeme příkaz continue.
Příkaz continue používáme k přeskočení některých kroků v cyklu a pokračování dál. Podívejme se na příklad:
for cislo in range(1, 7):
if cislo == 3:
continue
print("Cislo:", cislo)
V tomto příkladu program projde čísla 1, 2, 3, 4, 5 a 6 a každé z nich kromě čísla 3 vypíše. Když totiž narazí na číslo 3, příkaz continue ho přeskočí a pokračuje dalším číslem.