while în Python

Structuri de control Python 3.0+

Repetă un bloc de cod cât timp o condiție rămâne adevărată.

Sintaxă
while conditie:
    ...

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ște while True: cu break la 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ă.