Nový naučený programovací koncept môže posunúť tvoje schopnosti na úplne novú úroveň. Ak si už oboznámený s for-cyklami, je čas venovať sa ďalšiemu kľúčovému stavebnému prvku programovania: while-cyklom. V tejto príručke sa naučíš, čo sú while-cykly, ako fungujú a ako ich môžeš efektívne využiť vo svojom Python-kóde.
Najdôležitejšie poznatky
- While-cykly opakujú vykonávanie kódu, pokiaľ je splnená určitá podmienka.
- Je rozhodujúce, aby cyklus niekedy zastavil, aby sa predišlo nekonečným cyklom.
- Pomocou príkazov break, continue a pass môžeš ovládať správanie while-cyklov.
Základy while-cyklu
While-cyklus je jedným z základných typov cyklov v Pythone, ktorý ti umožňuje opakovane vykonávať blok kódu, kým zostáva podmienka splnená. Na rozdiel od for-cyklu while-cyklus nevykonáva opakovanie pre preddefinovaný počet iterácií, ale tak dlho, ako to vyžaduje logika tvojho programu.
Syntax while-cyklu
Nižšie ti podrobne vysvetlím štruktúru while-cyklu.

Najprv definuješ podmienku, ktorá sa bude kontrolovať. Ak je podmienka True (pravda), blok kódu sa vykonáva v rámci cyklu. Po každom priechode sa podmienka skontroluje znova.
Jednoduchý príklad
Povedzme, že chceš zvýšiť hodnotu premennej x, kým je menšia než 4.

Pri každom priechode sa x zvyšuje a aktuálna hodnota x sa vypíše. Toto pokračuje, kým podmienka už neplatí.
Koniec cyklu
Je dôležité, aby cyklus nakoniec zastavil a podmienka sa stala False. Inak vytvoríš nekonečný cyklus, ktorý môže spôsobiť pád tvojho programu. Aby si tomu predišiel, uisti sa, že premenná, ktorú kontroluješ, sa skutočne mení, aby podmienka nemohla zostať stále True.

Else-blok v while-cykloch
Ďalším užitočným aspektom while-cyklov je použitie else-bloku. Tento blok sa vykoná, keď cyklus skončí a podmienka už nie je splnená.

Keď tento kód spustíš, na konci cyklu sa zobrazí správa „Prechod je hotový.“
Ovládanie cyklov pomocou break a continue
V zložitejších programoch môže byť potrebné ďalej ovládať správanie while-cyklov. Tu prichádzajú do hry príkazy break, continue a pass.
Break
Pomocou príkazu break môžeš manuálne prerušiť cyklus. Ak splníš určitú podmienku, môžeš cyklus predčasne opustiť.

V tomto príklade sa cyklus preruší, keď x dosiahne hodnotu 2, takže sa zobrazí len x = 0 a x = 1.
Continue
Príkaz continue naopak preskočí aktuálnu iteráciu a preskočí priamo na ďalšiu.

V tomto prípade sa x = 2 nezobrazí, pretože vykonávanie prejde na ďalšiu iteráciu, hneď ako dosiahne hodnotu x 2.
Pass
Príkaz pass sa používa na to, aby zostal blok prázdny bez vykonania niečoho. Je užitočný, ak potrebuješ miesto a ešte nie si istý, čo tam má byť vykonané.

V tomto príklade má while-cyklus podmienku, ktorá pre x = 2 nič nezmení, ale kód zostáva bez komplikácií.
Zhrnutie – while-cyklov v Pythone: Príručka pre začiatočníkov
V tejto príručke si sa naučil základy while-cyklov v Pythone. Teraz vieš, ako definovať while-cyklus, aká je jeho syntax a aké funkcie ako break, continue a pass sú k dispozícii na efektívne ovládanie cyklov. Pamätaj, že by si mal vždy zabezpečiť, aby tvoj cyklus niekedy prestal, aby si sa vyhol nekonečným cyklom.
Často kladené otázky
Ako funguje while-cyklus?While-cyklus opakuje vykonávanie bloku kódu, pokiaľ je splnená určitá podmienka.
Aký je rozdiel medzi break a continue?Break úplne preruší cyklus, zatiaľ čo continue preskočí aktuálnu iteráciu a prejde na ďalšiu.
Ako sa vyhnúť nekonečným cyklom vo svojom kóde?Uisti sa, že podmienka while-cyklu nakoniec nie je pravdivá tým, že zmeníš kontrolovanú premennú podľa toho.
Poškodí používanie pass môj cyklus?Nie, pass je zástupný znak a nemá vplyv na správanie tvojho cyklu. Slúži len na vyhnutie sa syntaktickým chybám.
Čo sa stane, ak podmienka while-cyklu nie je zo začiatku splnená?Ak podmienka pri prvom priechode nie je splnená, blok kódu cyklu sa nikdy nevykoná, ale else-blok môže byť vykonaný, ak bol definovaný.