Ce face while
while verifică condiția înainte de fiecare repetare. Cât timp este adevărată, rulează blocul. Ceva din bloc trebuie să schimbe condiția, altfel bucla nu se oprește niciodată.
Folosește while când nu știi dinainte de câte ori vei repeta (de exemplu, până când utilizatorul introduce o valoare corectă). Pentru a parcurge o colecție, for este mai potrivit. Ca și la for, poți folosi break, continue și else.
Exemple
Exemplul 1: Numărătoare inversă
secunde = 3
while secunde > 0:
print(secunde)
secunde -= 1
print("Start!")
Rezultat
3
2
1
Start!
Exemplul 2: Economii până la o sumă
Nu știm dinainte câte luni durează, așa că folosim while.
economii = 0
luni = 0
while economii < 1000:
economii += 150
luni += 1
print(f"După {luni} luni ai {economii} lei.")
Rezultat
După 7 luni ai 1050 lei.
Exemplul 3: Buclă infinită oprită cu break
comenzi = ["adaugă", "listează", "ieșire", "șterge"]
i = 0
while True:
comanda = comenzi[i]
if comanda == "ieșire":
print("La revedere!")
break
print("Execut:", comanda)
i += 1
Rezultat
Execut: adaugă
Execut: listează
La revedere!
Greșeli frecvente
- Uiți să modifici variabila din condiție (de exemplu
i += 1) și bucla rulează la infinit. Oprește programul cu Ctrl+C. - Python nu are
do ... while. Foloseștewhile True:cubreakla final.
Comenzi înrudite
for: Parcurge, pe rând, fiecare element dintr-o listă, text, dicționar sau alt obiect iterabil.break și continue: break oprește bucla; continue sare la următoarea repetare.if / elif / else: Execută un bloc de cod doar dacă o condiție este adevărată.