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:

while heslo != "pyladies":
    ...odsazené řádky...

(Celý cyklus krok za krokem ukazuje obrázek cyklus_while.png.)

Cyklus while – názorné vysvětlení


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

Zdrojový Python soubor

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.