Upravit tuto stránku na GitHubu
Proč cyklus while
Spusť soubor a vyzkoušej ho víckrát s různými odpověďmi. Když budeš chtít program zastavit dřív, klikni dole do panelu Terminál a zmáčkni Ctrl+C. Program jde taky zabít ikonou koše vpravo v tom panelu.
Cyklus for použijeme, když předem víme, kolikrát se má něco zopakovat – projdeme range nebo písmena ve slově. Někdy to ale předem nevíme. Chceme opakovat „dokud něco platí". Od toho je cyklus while.
Ptáme se na heslo tak dlouho, dokud není správné.
heslo = input("Zadej heslo: ")
while heslo != "pyladies":
print("Špatně, zkus to znovu.")
heslo = input("Zadej heslo: ")
print("Vítej!")
Na heslo se ptáme dvakrát – jednou před cyklem, jednou uvnitř. Není to překlep. Před cyklem se musíme zeptat proto, aby podmínka měla co porovnávat: kontroluje se dřív, než tělo cyklu poprvé proběhne. Uvnitř proto, aby se odpověď před další kontrolou změnila. Bez toho by heslo zůstalo pořád stejné, podmínka by pořád platila a cyklus by běžel donekonečna. V tomto zápisu tedy potřebujeme vstup před cyklem i uvnitř něj. V příkladu Nekonečný cyklus uvidíš jiný zápis, který se ptá jen na jednom místě.
Kolikrát se cyklus zopakoval? To dopředu nevíme – záleží na tom,
kdy heslo trefíš. Napoprvé, napotřetí, nebo až po deseti pokusech.
Pro takový úkol se hodí while: k opakování mu stačí podmínka.
Takhle se cyklus while čte:
whileznamená „opakuj, dokud platí podmínka“.- Podmínka má výsledek
TrueneboFalse, stejně jako uif. - Za podmínkou píšeme dvojtečku
:. - Odsazené řádky tvoří tělo cyklu a opakují se.
while heslo != "pyladies":
...odsazené řádky...
(Celý cyklus krok za krokem ukazuje obrázek cyklus_while.png.)

Zpět na téma: Cyklus while · Další: Když se proměnná mění výpočtem

Komentáře
Máš k této stránce dotaz nebo jsi našla chybu? Napiš to sem. Ke komentování je potřeba účet na GitHubu.