Buclele sunt o secvență de instrucțiuni executate până când se îndeplinește o condiție. Să vedem cum funcționează buclele în timp ce în Python.
Ce sunt buclele?
Dacă înveți să codezi, buclele sunt unul dintre conceptele principale pe care ar trebui să le înțelegi. Buclele vă ajută să executați o secvență de instrucțiuni până când este îndeplinită o condiție.
Există două tipuri majore de bucle în Python.
- Pentru bucle
- În timp ce bucle
Ambele tipuri de bucle pot fi utilizate pentru acțiuni similare. Dar pe măsură ce înveți să scrii programe eficiente, vei ști când să folosești ce.
În acest articol, vom analiza buclele while în Python. Pentru a afla mai multe despre bucle, consultați acest articol publicat recent pe Routech.
În timp ce Bucle
Conceptul din spatele unei bucle while este simplu: În timp ce o condiție este adevărată -> Executați comenzile mele.
Bucla while va verifica starea de fiecare dată și, dacă revine „true”, va executa instrucțiunile din buclă.
Înainte de a începe să scriem cod, să ne uităm la diagrama de flux pentru a vedea cum funcționează.

Acum să scriem un cod. Iată cum scrieți o buclă de timp simplă pentru a imprima numerele de la 1 la 10.
#!/usr/bin/python
x = 1
while(x <= 10):
print(x)
x = x+1
Dacă vă uitați la codul de mai sus, bucla va rula numai dacă x este mai mic sau egal cu 10. Dacă inițializați x ca 20, bucla nu se va executa niciodată.
Iată ieșirea buclei that while:
> python script.py
1
2
3
4
5
6
7
8
9
10
Buclă Do-While
Există două variante ale buclei while – while și do-While. Diferența dintre cele două este că do-while rulează cel puțin o dată.
O buclă while poate să nu se execute nici măcar o dată dacă condiția nu este îndeplinită. Cu toate acestea, do-while va rula o singură dată, apoi verificați starea pentru buclele ulterioare.

În ciuda faptului că este prezent în majoritatea limbajelor de programare populare, Python nu are o declarație nativă do-while. Dar puteți emula cu ușurință o buclă do-while folosind alte abordări, cum ar fi funcțiile.
Să încercăm abordarea do-while prin încheierea comenzilor într-o funcție.
#!/usr/bin/python
x = 20
def run_commands():
x = x+1
print(x)
run_commands()
while(x <= 10):
run_commands()
Codul de mai sus rulează funcția “run_commands ()” o dată înainte de a invoca bucla while. Odată ce bucla while începe, funcția “run_commands” nu va fi executată niciodată, deoarece x este egal cu 20.
În timp ce – Altfel
Puteți adăuga o instrucțiune „else” pentru a rula dacă condiția buclei eșuează.
Să adăugăm o altă condiție la codul nostru pentru a tipări „Terminat” odată ce am tipărit numerele de la 1 la 10.
#!/usr/bin/python
x = 1
while(x <= 10):
print(x)
x = x+1
else:
print("Done")
Codul de mai sus va imprima mai întâi numerele de la 1 la 10. Când x este 11, condiția while va eșua, declanșând condiția else.
Declarație cu o singură linie
Dacă aveți doar o singură linie de cod în bucla while, puteți utiliza sintaxa unei singure linii.
#!/usr/bin/python
x = 1
while (x): print(x)
Bucle Infinite
Dacă nu sunteți atent în timp ce scrieți bucle, veți crea bucle infinite. Buclele infinite sunt cele în care condiția este întotdeauna adevărată.
#!/usr/bin/python
x = 1
while (x >= 1):
print(x)
Codul de mai sus este un exemplu de buclă infinită. Nu există nicio comandă pentru a modifica valoarea lui x, deci condiția „x este mai mare sau egală cu 1” este întotdeauna adevărată. Acest lucru va face bucla să ruleze pentru totdeauna.
Fiți întotdeauna atenți în timp ce scrieți bucle. O mică greșeală poate duce la o buclă infinită și poate bloca aplicația.
Control buclă
În cele din urmă, să vedem cum să controlăm fluxul unei bucle în timp ce rulează.
Când scrieți aplicații din lumea reală, veți întâlni adesea scenarii în care trebuie să adăugați condiții suplimentare pentru a sări peste o buclă sau pentru a ieși dintr-o buclă.
Pauză
Să vedem cum să ieșim din buclă în timp ce condiția este adevărată.
#!/usr/bin/python
x = 1
while (x <= 10):
if(x == 5):
break
print(x)
x += 1
În codul de mai sus, bucla va opri execuția când x este 5, în ciuda faptului că x este mai mare sau egal cu 1.
Continua
Iată un alt scenariu: spuneți că doriți să omiteți bucla dacă este îndeplinită o anumită condiție. Cu toate acestea, doriți să continuați execuțiile ulterioare până când condiția principală în timp ce devine falsă.
Puteți utiliza cuvântul cheie „continua” pentru aceasta, astfel:
#!/usr/bin/python
x = 1
while (x <= 10):
if(x == 5):
x += 1
continue
print(x)
În exemplul de mai sus, bucla va imprima de la 1 la 10, cu excepția 5. Când x este 5, restul comenzilor sunt omise și fluxul de control revine la începutul programului while.
rezumat
Buclele sunt una dintre cele mai utile componente în programare pe care le veți folosi zilnic.
Pentru și în timp ce sunt cele două bucle principale din Python. Bucla while are două variante, while și do-while, dar Python acceptă doar prima.
Puteți controla fluxul programului folosind comenzile „pauză” și „continuare”. Fiți întotdeauna conștienți de crearea accidentală de bucle infinite.
Scriu în mod regulat pe subiecte, inclusiv inteligența artificială și securitatea cibernetică. Dacă ți-a plăcut acest articol, puteți citi blogul meu aici.