Nadřazené | Řízení výpočtu |
Předcházející | Cyklus for v Pythonu, Podmíněný příkaz (if) v Pythonu, Opakuj dokud |
Navazující | Vnořené cykly v Pythonu, Funkce v Pythonu |
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 řídící 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.
Tímto cyklem vypisujeme mocniny dvou, dokud nepřekročí stovku:
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:
Může se stát, že while cyklus neskončí nikdy. Tento program vypisuje donekonečna jedničky:
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é, které vystupuje v podmínce cyklu.

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

Cyklus while v Pythonu (lehké)
44 zadání
Typicky zabere: 10 min
Ukázka
Co vypíše program?a = 1
b = 5
while a <= b:
print(a)
b = b - 1
Vypíše se celer?x = 1
while x < 7:
print("mrkev")
x += 2
if x == 7:
print("celer")
Kolikrát se vypíše celer?:x = 3
while x < 10:
if x % 5 == 0:
print("celer")
x += 1

Cyklus while v Pythonu (střední)
48 zadání
Typicky zabere: 19 min
Ukázka
Zacyklí se program?x = 100
while x != 0:
if x % 10 == 1:
x -= 1
x -= 1
Zjednodušte program:x = 100
while x > 0 and x >= 0:
print(x)
x -= 1
Vypíše se víc celeru nebo mrkve?i = 21
while i > 1:
print("mrkev")
i -= 2
while i > 0:
print("celer")
i = i / 2

Programování v Pythonu
Programování přímo v prohlížeči, s automatickým vyhodnocením správnosti programu. Cvičení používá programovací jazyk Python 3.
V tomto cvičení píšete programy, které pracují s textem a čísly. Pokud chcete obrázky, zkuste cvičení Python želva.