logo

Bucle While de Python

Python While Loop s'utilitza per executar un bloc d'instruccions repetidament fins que es compleix una determinada condició. Quan la condició esdevé falsa, s'executa la línia immediatament després del bucle del programa.

Sintaxi del bucle while a Python

  while  expression:  statement(s)>

Diagrama de flux de Python While Loop

Bucle While de Python

Mentre que el bucle entra dins de la categoria de iteració indefinida . La iteració indefinida significa que el nombre de vegades que s'executa el bucle no s'especifica explícitament per endavant.



Les sentències representen totes les sentències sagnades pel mateix nombre d'espais de caràcters després que una construcció de programació es consideri part d'un únic bloc de codi. Python utilitza el sagnat com a mètode d'agrupació de declaracions. Quan s'executa un bucle while, primer s'avalua expr en un context booleà i, si és cert, s'executa el cos del bucle. Aleshores, l'expr es torna a comprovar, si encara és cert, el cos s'executa de nou i això continua fins que l'expressió esdevé falsa.

Diferència entre Python For Loop i Python While Loop

La principal diferència entre Python For Loop i Python While Loop és que Python for bucle s'utilitza normalment quan el nombre d'iteracions és conegut , mentre que Python while s'utilitza quan el nombre d'iteracions és desconegut



Bucle While de Python

En aquest exemple, la condició per a while serà True sempre que la variable del comptador (recompte) sigui inferior a 3.

Python






# Python program to illustrate> # while loop> count>=> 0> while> (count <>3>):> >count>=> count>+> 1> >print>(>'Hello Geek'>)>

>

>

Sortida

Hello Geek Hello Geek Hello Geek>

Bucle while infinit a Python

Aquí, el valor de la condició sempre és True. Per tant, el cos del bucle s'executa infinites vegades fins que la memòria s'omple.

Python




age>=> 28> > # the test condition is always True> while> age>>19>:> >print>(>'Infinite Loop'>)>

>

int a la cadena
>

Sentències de control en Python amb exemples

Les instruccions de control de bucle canvien l'execució de la seva seqüència normal. Quan l'execució surt d'un àmbit, es destrueixen tots els objectes automàtics que es van crear en aquest àmbit. Python admet les següents declaracions de control.

Bucle while de Python amb declaració continue

Python Continua declaració retorna el control al començament del bucle.

Python


fitxer csv llegir java



# Prints all letters except 'e' and 's'> i>=> 0> a>=> 'geeksforgeeks'> > while> i <>len>(a):> >if> a[i]>=>=> 'e'> or> a[i]>=>=> 's'>:> >i>+>=> 1> >continue> > >print>(>'Current Letter :'>, a[i])> >i>+>=> 1>

>

>

Sortida

Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k>

Bucle while de Python amb una instrucció break

Python Declaració de trencament treu el control fora del bucle.

Python




# break the loop as soon it sees 'e'> # or 's'> i>=> 0> a>=> 'geeksforgeeks'> > while> i <>len>(a):> >if> a[i]>=>=> 'e'> or> a[i]>=>=> 's'>:> >i>+>=> 1> >break> > >print>(>'Current Letter :'>, a[i])> >i>+>=> 1>

>

>

Sortida

Current Letter : g>

Bucle while de Python amb una instrucció pass

La instrucció Python pass per escriure bucles buits. Pass també s'utilitza per a sentències de control, funcions i classes buides.

Python




# An empty loop> a>=> 'geeksforgeeks'> i>=> 0> > while> i <>len>(a):> >i>+>=> 1> >pass> > print>(>'Value of i :'>, i)>

>

>

Sortida

Value of i : 13>

Bucle while amb else

Com s'ha comentat anteriorment, while loop executa el bloc fins que es compleix una condició. Quan la condició esdevé falsa, s'executa la instrucció immediatament després del bucle. La clàusula else només s'executa quan la vostra condició while esdevé falsa. Si sortiu del bucle, o si es planteja una excepció, no s'executarà.

Nota: El bloc else just després de for/while només s'executa quan el bucle NO s'acaba amb una instrucció break.

Python




# Python program to demonstrate> # while-else loop> > i>=> 0> while> i <>4>:> >i>+>=> 1> >print>(i)> else>:># Executed because no break in for> >print>(>'No Break '>)> > i>=> 0> while> i <>4>:> >i>+>=> 1> >print>(i)> >break> else>:># Not executed as there is a break> >print>(>'No Break'>)>

>

>

Sortida

1 2 3 4 No Break 1>

Declaració controlada Sentinel

En això, no fem servir cap variable de comptador perquè no sabem quantes vegades s'executarà el bucle. Aquí l'usuari decideix quantes vegades vol executar el bucle. Per a això, utilitzem un valor sentinella. Un valor sentinella és un valor que s'utilitza per acabar un bucle sempre que un usuari l'introdueix, generalment, el valor sentinella és -1.

Bucle while Python amb entrada de l'usuari

Aquí, primer demana a l'usuari que introdueixi un número. si l'usuari introdueix -1, el bucle no s'executarà, és a dir.

  • L'usuari introdueix 6 i el cos del bucle s'executa i torna a demanar entrada
  • Aquí l'usuari pot introduir moltes vegades fins que introdueix -1 per aturar el bucle
  • L'usuari pot decidir quantes vegades vol introduir l'entrada

Python




a>=> int>(>input>(>'Enter a number (-1 to quit): '>))> > while> a !>=> ->1>:> >a>=> int>(>input>(>'Enter a number (-1 to quit): '>))>

>

>

Sortida:

numpy linspace

Imatge de la pantalla de sortida

Bucle while amb valors booleans

Un ús comú dels valors booleans als bucles while és crear un bucle infinit que només es pot sortir en funció d'alguna condició dins del bucle.

botó per centrar css

Exemple :

En aquest exemple, inicialitzem un comptador i després fem servir un bucle while infinit (True sempre és cert) per augmentar el comptador i imprimir-ne el valor. Comprovem si el comptador ha arribat a un valor determinat i si és així, sortim del bucle mitjançant la instrucció break.

Python




# Initialize a counter> count>=> 0> > # Loop infinitely> while> True>:> ># Increment the counter> >count>+>=> 1> >print>(f>'Count is {count}'>)> > ># Check if the counter has reached a certain value> >if> count>=>=> 10>:> ># If so, exit the loop> >break> > # This will be executed after the loop exits> print>(>'The loop has ended.'>)>

>

>

Sortida

Count is 1 Count is 2 Count is 3 Count is 4 Count is 5 Count is 6 Count is 7 Count is 8 Count is 9 Count is 10 The loop has ended.>

Python while bucle amb la llista de Python

En aquest exemple, hem executat un bucle while sobre una llista que s'executarà fins que hi hagi un element present a la llista.

Python




# checks if list still> # contains any element> a>=> [>1>,>2>,>3>,>4>]> > while> a:> >print>(a.pop())>

>

>

Sortida

4 3 2 1>

Declaració única mentre es bloqueja

Igual que el bloc if, si el bloc while consta d'una sola instrucció, podem declarar tot el bucle en una sola línia. Si hi ha diverses declaracions al bloc que componen el cos del bucle, es poden separar per punt i coma (;).

Python




# Python program to illustrate> # Single statement while block> count>=> 0> while> (count <>5>):> >count>+>=> 1> >print>(>'Hello Geek'>)>

>

>

Sortida

Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek>

Preguntes sobre Python While Loop Exercici

A continuació hi ha dues preguntes d'exercici sobre Python while bucle. Hem tractat 2 preguntes importants d'exercici basades en el programa de pilota que rebota i el programa de compte enrere.

Q1. Pregunta d'exercici de bucle mentre es basa en el problema de la pilota que rebota

Python




initial_height>=> 10> bounce_factor>=> 0.5> height>=> initial_height> while> height>>0.1>:> >print>(>'The ball is at a height of'>, height,>'meters.'>)> >height>*>=> bounce_factor> print>(>'The ball has stopped bouncing.'>)>

>

>

Sortida

The ball is at a height of 10 meters. The ball is at a height of 5.0 meters. The ball is at a height of 2.5 meters. The ball is at a height of 1.25 meters. The ball is at a height of 0.625 meters. The ball is at a height of 0.3125 meters. The ball is at a height of 0.15625 meters. The ball has stopped bouncing.>

P2. Codi d'exercici de bucle mentre senzill per crear un rellotge de compte enrere

Python




countdown>=> 10> while> countdown>>0>:> >print>(countdown)> >countdown>->=> 1> print>(>'Blast off!'>)>

>

funció python chr
>

Sortida

10 9 8 7 6 5 4 3 2 1 Blast off!>