Smyčky se používají v programování k opakování konkrétního bloku kódu. V tomto článku se naučíte vytvářet smyčku while v Pythonu.
Video: Python while Loop
Co je while smyčka v Pythonu?
Smyčka while v Pythonu se používá k iteraci bloku kódu, pokud je testovací výraz (podmínka) pravdivý.
Tuto smyčku obecně používáme, když neznáme počet opakování předem.
Syntaxe while Loop v Pythonu
while test_expression: Tělo while
Ve smyčce while je nejprve zkontrolován testovací výraz. Tělo smyčky se zadává pouze v případě, že se test_expression
vyhodnotí jako True
. Po jedné iteraci se testovací výraz znovu zkontroluje. Tento proces pokračuje, dokud se test_expression
vyhodnotí False
.
V Pythonu je tělo smyčky while určeno odsazením.
Tělo začíná odsazením a první nezasunutá čára označuje konec.
Python interpretuje jakoukoli nenulovou hodnotu jako True
. None
a 0
jsou interpretovány jako False
.
Vývojový diagram while Loop

Příklad: Python while Loop
# Program to add natural # numbers up to # sum = 1+2+3+… +n # To take input from the user, # n = int(input("Enter n: ")) n = 10 # initialize sum and counter sum = 0 i = 1 while i <= n: sum = sum + i i = i+1 # update counter # print the sum print("The sum is", sum)
Když spustíte program, výstup bude:
Zadejte n: 10 Součet je 55
Ve výše uvedeném programu bude testovací výraz, pokud bude True
naše proměnná čítače i menší nebo rovna n (10 v našem programu).
Musíme zvýšit hodnotu proměnné čítače v těle smyčky. To je velmi důležité (a většinou zapomenuté). Pokud tak neučiníte, bude výsledkem nekonečná smyčka (nekonečná smyčka).
Nakonec se zobrazí výsledek.
Zatímco smyčka s else
Stejné jako u smyček for, zatímco smyčky mohou mít také volitelný else
blok.
else
Část je provedena v případě, že stav v zatímco smyčky vyhodnocen jako False
.
Cyklu while lze ukončit příkazem break. V takových případech je else
část ignorována. Proto se else
část while smyčky spustí, pokud nedojde k přerušení a podmínka je nepravdivá.
Zde je příklad pro ilustraci.
'''Example to illustrate the use of else statement with the while loop''' counter = 0 while counter < 3: print("Inside loop") counter = counter + 1 else: print("Inside else")
Výstup
Inside loop Inside loop Inside loop Inside else
Zde použijeme proměnnou čítače k trojnásobnému vytištění řetězce Inside loop.
Při čtvrté iteraci se podmínka v while
stane False
. Proto je else
část provedena.