Totul despre Python While Loop cu exemple

Totul despre Python While Loop cu exemple

Nodul sursă: 3091323

Introducere

O buclă while este o instrucțiune fundamentală a fluxului de control în Python care vă permite să executați în mod repetat un bloc de cod atâta timp cât o anumită condiție este adevărată. Oferă o modalitate de a automatiza sarcini repetitive și de a repeta o secvență de valori. Acest articol va explora sintaxa, utilizarea și diferitele aplicații ale buclelor while în Python.

bucla Python while

Cuprins

Sintaxa și structura unei bucle While

Sintaxa unei bucle while în Python este următoarea:

while condition:
    # code to be executed

Condiția este o expresie booleană care determină dacă bucla trebuie să continue sau să se termine. Dacă condiția este considerată adevărată, blocul de cod din interiorul buclei va fi executat în mod repetat. Odată ce condiția devine Falsă, bucla va ieși, iar programul va continua cu următoarea instrucțiune după buclă.

Utilizare de bază și exemple

Să începem cu un exemplu simplu pentru a înțelege utilizarea de bază a unei bucle while. Să presupunem că vrem să tipărim numerele de la 1 la 5. Putem realiza acest lucru folosind o buclă while, așa cum se arată mai jos:

num = 1
while num <= 5:
    print(num)
    num += 1

producție

1

2

3

4

5

În acest exemplu, inițializam variabila `num` la 1. Bucla while continuă dacă `num` este mai mică sau egală cu 5. În interiorul buclei, imprimăm valoarea lui `num` și apoi o incrementăm cu 1 folosind operator `+=`. Acest proces se repetă până când `num` devine 6, când condiția devine False și bucla se termină.

Controlul fluxului cu instrucțiuni de control al buclei

Python oferă trei instrucțiuni de control al buclei, „break”, „continuare” și „pass”, pentru a vă permite să controlați fluxul unei bucle while.

Declarația „break”.

Declarația „break” este folosită pentru a ieși din buclă prematur, chiar dacă condiția buclei este încă adevărată. Este adesea folosit atunci când o anumită condiție este îndeplinită și doriți să terminați bucla imediat. Iată un exemplu:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

producție

1

2

3

4

5

În acest exemplu, bucla se termină când `num` devine 6 deoarece am folosit instrucțiunea `break` în cadrul condiției if. Ca urmare, sunt tipărite doar numerele de la 1 la 5.

Declarația „continuare”.

Declarația „continue” este folosită pentru a sări peste restul blocului de cod din bucla și pentru a trece la următoarea iterație. Este util atunci când doriți să săriți peste anumite valori sau condiții și să continuați cu următoarea iterație. Iată un exemplu:

num = 1
while num <= 5:
    if num == 3:
        num += 1
        continue
    print(num)
    num += 1

producție

1

2

4

5

În acest exemplu, bucla omite valoarea 3 deoarece am folosit instrucțiunea „continue” în interiorul condiției if. Ca rezultat, numărul 3 nu este tipărit, iar bucla continuă cu următoarea iterație.

Declarația „trece”.

Declarația `pass` este un substituent atunci când nu doriți să faceți nimic în interiorul buclei. Este adesea folosit ca substituent temporar în timpul dezvoltării sau când doriți să creați o buclă goală. Iată un exemplu:

num = 1
while num <= 5:
    pass
    num += 1

În acest exemplu, instrucțiunea `pass` nu face nimic, iar bucla crește valoarea lui `num` până când devine 6.

Cazuri de utilizare și aplicații comune

În timp ce buclele au o gamă largă de aplicații în Python. Să explorăm câteva cazuri comune de utilizare:

Repetare până când o condiție este îndeplinită

În timp ce buclele sunt utilizate în mod obișnuit atunci când doriți să repetați până când este îndeplinită o anumită condiție. De exemplu, dorim să găsim prima putere a lui 2 mai mare decât 1000. Putem folosi o buclă while pentru a realiza acest lucru:

num = 1
while num <= 1000:
    num *= 2
print(num)

producție

1024

În acest exemplu, bucla continuă până când `num` depășește 1000. Pentru fiecare iterație, `num` este înmulțit cu 2, iar valoarea finală este tipărită.

Validarea intrărilor utilizatorului

Buclele în timp ce sunt utile pentru validarea intrării utilizatorului și pentru a se asigura că intrarea îndeplinește anumite criterii. De exemplu, dorim să solicităm utilizatorului să introducă un număr întreg pozitiv. Putem folosi o buclă while pentru a cere intrare până când un număr întreg valid este introdus în mod repetat:

while True:
    try:
        num = int(input("Enter a positive integer: "))
        if num > 0:
            break
        else:
            print("Invalid input. Please enter a positive integer.")
    except ValueError:
        print("Invalid input. Please enter a valid integer.")

În acest exemplu, bucla continuă la nesfârșit până când este introdus un număr întreg pozitiv valid. Blocul `try-except` tratează potențialele erori la conversia intrării într-un număr întreg.

Crearea de bucle infinite

În timp ce buclele pot fi folosite pentru a crea bucle infinite, care continuă la nesfârșit până când este îndeplinită o anumită condiție. De exemplu, să creăm o buclă infinită simplă care afișează „Hello, World!” repetat:

while True:
    print("Hello, World!")

În acest exemplu, condiția buclei este întotdeauna adevărată, deci bucla continuă la nesfârșit. Pentru a termina bucla, puteți folosi instrucțiunea `break` sau puteți întrerupe execuția programului.

O buclă infinită ar putea fi utilă în contextul unui sistem de monitorizare sau înregistrare în timp real. Imaginați-vă o situație în care trebuie să monitorizați continuu un sistem sau o rețea pentru evenimente sau modificări specifice și să înregistrați informațiile. Ar putea fi folosită o buclă infinită pentru a verifica aceste condiții și pentru a lua măsurile adecvate în mod constant.

Implementarea buclelor de joc

În timp ce buclele sunt utilizate în mod obișnuit în dezvoltarea jocului pentru a implementa buclele de joc, care controlează fluxul jocului și gestionează intrarea utilizatorului. O buclă de joc constă de obicei din trei componente principale: actualizarea stării jocului, redarea graficii jocului și gestionarea intrărilor utilizatorului. Iată un exemplu simplificat:

game_running = True
while game_running:
    # Update game state
    # Render game graphics
    # Handle user input

În acest exemplu, bucla continuă atâta timp cât variabila `game_running` este True. În interiorul buclei, ai actualiza starea jocului, vei reda grafica jocului și vei gestiona intrarea utilizatorului. Acest proces se repetă până când jocul se termină sau jucătorul alege să iasă.

Citește și: Un tutorial complet Python pentru a învăța știința datelor de la zero

Imbricate While Loops și Loop Nesting

Piton vă permite să imbricați bucle while, ceea ce înseamnă că puteți avea o buclă while în interiorul unei alte bucle while. Acest lucru este util atunci când trebuie să efectuați sarcini repetitive în cadrul sarcinilor repetitive. Iată un exemplu:

outer_num = 1
while outer_num <= 3:
    inner_num = 1
    while inner_num <= 3:
        print(outer_num, inner_num)
        inner_num += 1
    outer_num += 1

producție

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

În acest exemplu, avem o buclă while exterioară care iterează de la 1 la 3 și o buclă while interioară care iterează de la 1 la 3 pentru fiecare iterație a buclei exterioare. Instrucțiunea print din interiorul buclei afișează valorile ambelor variabile ale buclei.

Sfaturi și cele mai bune practici pentru utilizarea buclelor While

În timp ce buclele sunt constructe puternice, ele pot fi, de asemenea, predispuse la erori dacă nu sunt utilizate corect. Iată câteva sfaturi și cele mai bune practici de reținut atunci când utilizați buclele while:

Inițializarea corectă a variabilelor

Înainte de a introduce o buclă while, inițializați toate variabilele buclei la valorile lor inițiale. Acest lucru asigură că starea buclei este evaluată corect și previne comportamentul neașteptat. De exemplu:

count = 0
while count < 10:
    print(count)
    count += 1

În acest exemplu, inițializam variabila `count` la 0 înainte de a intra în buclă.

Asigurarea terminarii buclei

Pentru a evita bucle infinite, asigurați-vă întotdeauna că condiția buclei va deveni în cele din urmă falsă. Acest lucru poate fi realizat prin actualizarea variabilelor buclei sau prin utilizarea instrucțiunilor de control al buclei precum „break”. De exemplu:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

În acest exemplu, bucla se termină când `num` devine 6 din cauza instrucțiunii `break`.

Evitarea buclelor infinite

Fiți atenți când utilizați bucle while pentru a evita crearea de bucle infinite care nu se termină niciodată. Buclele infinite pot duce la blocări ale programului și pot consuma resurse excesive de sistem. Verificați întotdeauna condițiile buclei și asigurați-vă că pot deveni False la un moment dat.

Scrierea codului care poate fi citit și care poate fi întreținut

În timp ce buclele pot deveni complexe și dificil de înțeles dacă nu sunt scrise corect. Folosiți nume de variabile semnificative, adăugați comentarii pentru a explica scopul buclei și împărțiți sarcinile complexe în subsarcini mai mici. Acest lucru face codul dvs. mai lizibil și mai ușor de întreținut.

Tehnici și trucuri avansate

În timp ce buclele pot fi utilizate în moduri avansate pentru a realiza sarcini specifice. Iată câteva tehnici și trucuri avansate:

Buclă cu instrucțiuni Else

În Python, puteți folosi o instrucțiune else cu o buclă while pentru a executa un bloc de cod atunci când condiția buclei devine False. Celălalt bloc este executat numai dacă bucla este finalizată normal, fără instrucțiuni break. Iată un exemplu:

num = 1
while num <= 5:
    print(num)
    num += 1
else:
    print("Loop completed")

producție

1

2

3

4

5

Bucla finalizată

În acest exemplu, blocul else este executat după ce bucla se termină normal.

Utilizarea buclelor While cu liste și șiruri

Buclele While pot fi folosite pentru a itera peste liste și șiruri de caractere folosind o variabilă index. Iată un exemplu:

fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
    print(fruits[index])
    index += 1

producție

măr

banană

cireașă

În acest exemplu, bucla while iterează peste elementele listei `fructe` folosind variabila index.

Citește și: Tot ce ar trebui să știi despre structurile de date încorporate în Python – Ghid pentru începători!

Comparație cu alte constructe de buclă în Python

În timp ce buclele sunt doar una dintre numeroasele constructe de bucle disponibile în Python. Să comparăm buclele while cu buclele for și recursiunea:

Bucle While vs. Bucle For

În timp ce buclele și buclele sunt folosite ambele pentru iterare, ele au cazuri de utilizare diferite. În timp ce buclele sunt mai flexibile și pot gestiona condiții complexe, în timp ce buclele for sunt mai potrivite pentru iterarea pe o secvență de valori. Buclele în timp ce sunt utile atunci când nu cunoașteți numărul exact de iterații în avans sau trebuie să efectuați calcule complexe. Buclele sunt utile atunci când doriți să iterați peste o secvență de valori, cum ar fi o listă sau un șir.

While Loops vs. Recursie

Recursiunea este o tehnică în care o funcție se autoinvocă pentru a rezolva o problemă. Poate fi folosit pentru a realiza sarcini repetitive similare cu buclele while, dar are unele diferențe. În timp ce buclele sunt mai potrivite pentru sarcinile iterative în care aveți o condiție clară de terminare și trebuie să efectuați un număr fix de iterații. Recursiunea este mai potrivită pentru rezolvarea problemelor împărțite în subprobleme mai mici, cum ar fi algoritmii de căutare, sortare și traversare a arborilor.

Concluzie

În acest articol, am explorat conceptul de bucle while în Python. Am aflat despre sintaxa lor, utilizarea de bază și diverse aplicații. Am discutat, de asemenea, sfaturi, cele mai bune practici, greșeli frecvente și tehnici avansate de utilizare a buclelor while. În cele din urmă, am comparat buclele while cu alte constructe de bucle în Python. Cu aceste cunoștințe, acum puteți utiliza în mod eficient buclele while pentru a automatiza sarcini repetitive și a repeta secvențele de valori din programele dvs. Python.

Deblocați puterea excelenței AI și ML! Înscrie-te acum la Nostru Program certificat AI și ML BlackBelt Plus și ridicați-vă abilitățile la noi culmi. Nu ratați oportunitatea de a stăpâni cele mai noi tehnologii – Transformați-vă cariera astăzi!

De asemenea, dacă sunteți în căutarea unui curs Python online, explorați - Introducere în programul Python astăzi!

Timestamp-ul:

Mai mult de la Analize Vidhya