Nově naučený programovací koncept může posunout vaše dovednosti na zcela novou úroveň. Pokud jste již obeznámeni s for-cykly, je čas se seznámit s dalším základním kamenem programování: while-cykly. V této příručce se naučíte, co jsou while-cykly, jak fungují a jak je efektivně používat ve vašem Python kódu.
Nejdůležitější poznatky
- While-cykly opakují vykonávání kódu, dokud je splněna určité podmínka.
- Je zásadní, aby cyklus nakonec zastavil, aby se zabránilo nekonečným cyklům.
- S pomocí příkazů break, continue a pass můžete řídit chování while-cyklů.
Základy while-cyklu
While-cyklus je jedním ze základních typů cyklů v Pythonu, který vám umožňuje opakovaně vykonávat blok kódu, dokud zůstává podmínka splněna. Na rozdíl od for-cyklu while-cyklus neprovádí opakování stanovený počet iterací, ale tak dlouho, jak to logika vašeho programu vyžaduje.
Syntaxe while-cyklu
Níže vám podrobněji vysvětlím strukturu while-cyklu.

Nejdříve definujete podmínku, která se bude kontrolovat. Pokud je podmínka True (pravda), vykoná se blok kódu uvnitř cyklu. Po každém provedení se podmínka znovu zkontroluje.
Jednoduchý příklad
Představte si, že chcete zvyšovat hodnotu proměnné x, dokud je menší než 4.

Při každém provedení se x zvyšuje a aktuální hodnota x se vypisuje. Pokračuje to tak dlouho, dokud podmínka již neplatí.
Konec cyklu
Je důležité, aby se cyklus nakonec zastavil a podmínka se stala False. Jinak vytvoříte nekonečný cyklus, který by mohl způsobit havárii vašeho programu. Abychom se tomuto vyhnuli, ujistěte se, že proměnná, kterou kontrolujete, se skutečně mění, aby podmínka vždy nezůstávala True.

Else-blok v while-cyklu
Dalším užitečným aspektem while-cyklů je použití else-bloku. Tento blok se vykoná, když cyklus skončí a podmínka již není splněna.

Když spustíte výše uvedený kód, na konci cyklu se vypíše zpráva „Provedení je hotovo.“
Řízení cyklů pomocí break a continue
V složitějších programech může být nezbytné dále řídit chování while-cyklů. Zde přichází do hry příkazy break, continue a pass.
Break
S pomocí příkazu break můžete cyklus manuálně přerušit. Pokud splníte určitou podmínku, můžete cyklus předčasně opustit.

V tomto příkladu se cyklus přeruší, jakmile x dosáhne hodnoty 2, takže se vypíší pouze x = 0 a x = 1.
Continue
Příkaz continue naopak přeskočí aktuální iteraci a přejde přímo na další.

V tomto případě nebude x = 2 vytištěno, protože se provedení skok na další iteraci, jakmile hodnota x dosáhne 2.
Pass
Příkaz pass se používá k ponechání blokového příkazu prázdného, aniž by se něco provedlo. Je užitečný, když potřebujete zástupce a nejste si jisti, co by mělo být provedeno.

V tomto příkladu má while-cyklus podmínku, která pro x = 2 nic neznamená, ale kód přesto zůstává bez komplikací.
Shrnutí - While-cykly v Pythonu: Příručka pro začátečníky
V této příručce jste se seznámili se základy while-cyklů v Pythonu. Nyní víte, jak definovat while-cyklus, jaká je jeho syntaxe a jaké funkce jako break, continue a pass jsou dostupné pro efektivní řízení cyklů. Pamatujte, že byste měli vždy zajistit, že váš cyklus nakonec skončí, abyste se vyhnuli nekonečným cyklům.
Často kladené otázky
Jak funguje while-cyklus?While-cyklus opakuje vykonávání blok kódu, dokud je splněna určité podmínka.
Jaký je rozdíl mezi break a continue?Break zastavuje cyklus úplně, zatímco continue přeskočí aktuální iteraci a přejde na další.
Jak se vyhnout nekonečným cyklům v mém kódu?Ujistěte se, že podmínka while-cyklu se nakonec stane nepravdivou, tím, že vhodně změníte kontrolovanou proměnnou.
Škodí použití pass mému cyklu?Ne, pass je zástupce a nemá žádný vliv na chování vašeho cyklu. Slouží pouze k vyhnutí se chybám v syntaxi.
Co se stane, když podmínka while-cyklu není splněna už na začátku?Pokud podmínka není splněna při prvním provedení, blok kódu cyklu se nikdy nevykoná, ale else-blok může být proveden, pokud byl definován.