Un concept de programare învățat recent îți poate îmbunătăți abilitățile la un nivel complet nou. Dacă ești deja familiarizat cu buclele for, este timpul să te ocupi de un alt element central al programării: buclele while. În acest ghid, vei învăța ce sunt buclele while, cum funcționează și cum le poți folosi eficient în codul tău Python.
Principalele concluzii
- Buclele while repetă execuția unui cod atâta timp cât o anumită condiție este îndeplinită.
- Este esențial ca bucla să se oprească în cele din urmă pentru a evita buclele infinite.
- Folositând break, continue și pass poți controla comportamentul buclelor while.
Fundamentele buclei While
Bucla while este unul dintre tipurile de bucle fundamentale în Python, care îți permite să execuți un bloc de cod repetat, atâta timp cât o condiție rămâne îndeplinită. Spre deosebire de bucla for, bucla while nu repetă execuția pentru un număr fix de iterații, ci atât timp cât logică programului tău o cere.
Syntaxa buclei While
Mai jos îți voi explica în detaliu structura unei bucle while.

În primul rând, definești o condiție care va fi verificată. Dacă condiția este True (adevărată), blocul de cod din interiorul buclei va fi executat. După fiecare rulare, condiția va fi verificată din nou.
Un exemplu simplu
Să presupunem că vrei să crești valoarea unei variabile x, atâta timp cât aceasta este mai mică decât 4.

La fiecare rulare, x este crescut, iar valoarea actuală a lui x este afișată. Acest lucru continuă până când condiția nu mai este adevărată.
Finalul buclei
Este important ca bucla să se oprească în cele din urmă și condiția să devină False. Altminteri, creezi o buclă infinită, care ar putea face ca programul tău să se blocheze. Pentru a evita acest lucru, asigură-te că variabila pe care o verifici este, de fapt, modificată, astfel încât condiția să nu rămână mereu True.

Blocul Else în buclele While
Un alt aspect util al buclelor while este utilizarea unui bloc else. Acest bloc este executat atunci când bucla se încheie și condiția nu mai este îndeplinită.

Dacă execuți codul de mai sus, la sfârșitul buclei va fi afișat mesajul „Execuția este finalizată.”
Controlul buclelor cu Break și Continue
În programe mai complexe, poate fi necesar să controlezi comportamentul buclelor while în continuare. Aici intră în joc comenzile break, continue și pass.
Break
Cu comanda break poți întrerupe manual o buclă. Dacă îndeplinești o anumită condiție, poți părăsi bucla înainte de timp.

În acest exemplu, bucla este întreruptă de îndată ce x atinge valoarea 2, astfel încât doar x = 0 și x = 1 sunt afișate.
Continue
Comanda continue, pe de altă parte, sare peste iterația actuală și trece direct la următoarea.

În acest caz, x = 2 nu este afișat, deoarece execuția sare la următoarea iterație de îndată ce valoarea lui x ajunge la 2.
Pass
Comanda pass este folosită pentru a lăsa o instrucțiune bloc liberă, fără a executa nimic. Este utilă atunci când ai nevoie de un loc rezervat și nu ești sigur ce ar trebui să fie executat acolo.

În acest exemplu, bucla While are o condiție care nu are niciun efect pentru x = 2, dar codul rămâne totuși clar.
Rezumat – Bucle While în Python: Un ghid pentru începători
În acest ghid, ai învățat fundamentalele buclelor while în Python. Acum știi cum să definești o buclă while, care este sintaxa sa și ce funcții precum break, continue și pass sunt disponibile pentru controlul eficient al buclelor. Ține minte că trebuie să te asiguri întotdeauna că bucla ta se oprește la un moment dat pentru a evita buclele infinite.
Întrebări frecvente
Cum funcționează o buclă while?O buclă while repetă execuția unui bloc de cod, atâta timp cât o anumită condiție este îndeplinită.
Care este diferența dintre break și continue?break întrerupe complet bucla, în timp ce continue sări peste iterația actuală și treci la următoarea.
Cum evit buclele infinite în codul meu?Asigură-te că condiția buclei while devine în cele din urmă falsă, schimbând variabila verificată corespunzător.
Îmi afectează utilizarea lui pass bucla mea?Nu, pass este un rezervor și nu are efect asupra comportamentului buclei tale. Servește doar pentru a evita erorile de sintaxă.
Ce se întâmplă dacă condiția unei bucle while nu este îndeplinită de la început?Dacă condiția nu este îndeplinită la prima rulare, blocul de cod al buclei nu va fi niciodată executat, dar blocul else ar putea fi executat dacă a fost definit.