Cyklus while v Pythonu

MSO
Zkopírovat kód tématu
Zkopírovat krátkou adresu (umime.to/MSO)
Ukázat QR kód

umime.to/MSO


Stáhnout QR kód

Cykly při programování využíváme pro opakování skupiny příkazů. Opakování označujeme často pojmem iterace.

Cyklus while využíváme, pokud dopředu nevíme, kolikrát se bude cyklus opakovat. Pokud dopředu počet opakování známe, využíváme cyklus for.

Základní použití

While cyklus se opakuje tak dlouho, dokud je splněna řídicí podmínka cyklu (v následující ukázce jde o n > 5). Tělo cyklu (příkazy, které se mají opakovat) vyznačujeme odsazením.

n = 5

while n > 0:

    print("Tohle se vypíše pětkrát.")

    n = n - 1

Tímto cyklem vypisujeme mocniny dvou, dokud nepřekročí stovku:

n = 1

while n < 100:

    print(n)

    n = n * 2

Nula i nekonečno opakování

Podmínka se vyhodnocuje ještě před prvním vykonáním těla cyklu. Pokud není splněna, tak se tělo while cyklu neprovede ani jednou:

n = 200

while n < 100:

    print("Tohle se nevypíše.")

Může se stát, že while cyklus neskončí nikdy. Tento program vypisuje donekonečna jedničky:

n = 1

while n < 100:

    print(n)

Takový nekonečný cyklus většinou znamená chybu v programu. Typickou chybou je, že zapomeneme v těle cyklu měnit hodnotu proměnné vystupující v podmínce cyklu. Tuto situaci označujeme jako „zacyklení programu“.

Ukázky použití while cyklu

Mocniny dvojky

Výpis všech mocnin dvojky menších než 1000:

n = 1

while n < 1000:

    print(n)

    n *= 2

Sčítačka

Následující program načítá čísla od uživatele a průběžně je sčítá. Výpočet se ukončí, když uživatel zadá číslo 0.

total = 0

value = int(input())

while value:

    total += value

    print("Current sum:", total)

    value = int(input())

print("Final sum:", total)

Rozhodovačka

Rychlé procvičování výběrem ze dvou možností.


Cyklus while v Pythonu  
Zobrazit souhrn tématu


Kód kostky

Navigujte kostku po plánu podle zadaného programu. Procvičení schopnosti číst programy.


Kostky v Pythonu: while cyklus



Programování v Pythonu

Programování přímo v prohlížeči, s automatickým vyhodnocením správnosti programu.


Cyklus while



NAPIŠTE NÁM

Děkujeme za vaši zprávu, byla úspěšně odeslána.

Napište nám

Nevíte si rady?

Před položením dotazu si prosím projděte návody:

Prosíme, nezasílejte dotazy na prozrazení řešení úloh či vysvětlení postupu. Pokud hlásíte chybu, upřesněte prosím, v čem přesně spočívá a připojte snímek obrazovky.

Čeho se zpráva týká?

Vzkaz Hlášení chyby Obsah Ovládání Přihlášení Licence