Pitone Mentre Ciclo viene utilizzato per eseguire ripetutamente un blocco di istruzioni finché non viene soddisfatta una determinata condizione. Quando la condizione diventa falsa, viene eseguita la riga immediatamente successiva al ciclo del programma.
Sintassi del ciclo while in Python
while expression: statement(s)>
Diagramma di flusso di Python While Loop
Mentre il loop rientra nella categoria di iterazione indefinita . Iterazione indefinita significa che il numero di volte in cui il ciclo viene eseguito non è specificato esplicitamente in anticipo.
Le istruzioni rappresentano tutte le istruzioni rientrate dello stesso numero di spazi di carattere dopo che un costrutto di programmazione è considerato parte di un singolo blocco di codice. Python utilizza il rientro come metodo per raggruppare le istruzioni. Quando viene eseguito un ciclo while, expr viene prima valutato in un contesto booleano e, se è vero, viene eseguito il corpo del ciclo. Quindi l'espressione viene nuovamente controllata, se è ancora vera allora il corpo viene eseguito nuovamente e questo continua fino a quando l'espressione diventa falsa.
Differenza fra Python per ciclo e Python While Ciclo
La differenza principale tra Python For Loop e Python While Loop è che Python for loop viene solitamente utilizzato quando il numero di iterazioni è conosciuto , mentre il ciclo while di Python viene utilizzato quando il numero di iterazioni è sconosciuto
Ciclo Python While
In questo esempio, la condizione per while sarà True finché la variabile contatore (count) è inferiore a 3.
Pitone
# Python program to illustrate> # while loop> count>=> 0> while> (count <>3>):> >count>=> count>+> 1> >print>(>'Hello Geek'>)> |
>
>Produzione
Hello Geek Hello Geek Hello Geek>
Ciclo while infinito in Python
In questo caso il valore della condizione è sempre True. Pertanto, il corpo del ciclo viene eseguito infinite volte finché la memoria non è piena.
Pitone
age>=> 28> > # the test condition is always True> while> age>>19>:> >print>(>'Infinite Loop'>)> |
'abc' è in numeri'
>
>
Istruzioni di controllo in Python con esempi
Le istruzioni di controllo del ciclo modificano l'esecuzione rispetto alla sequenza normale. Quando l'esecuzione lascia un ambito, tutti gli oggetti automatici creati in quell'ambito vengono distrutti. Python supporta le seguenti istruzioni di controllo.
Ciclo while Python con istruzione continue
Pitone Continua dichiarazione riporta il controllo all'inizio del ciclo.
Pitone
# 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> |
>
>Produzione
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k>
Python while ciclo con un'istruzione break
Pitone Dichiarazione di interruzione porta il controllo fuori dal ciclo.
Pitone
# 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> |
>
>Produzione
Current Letter : g>
Python while loop con un'istruzione pass
L'istruzione pass di Python per scrivere cicli vuoti. Pass viene utilizzato anche per istruzioni, funzioni e classi di controllo vuote.
Pitone
# An empty loop> a>=> 'geeksforgeeks'> i>=> 0> > while> i <>len>(a):> >i>+>=> 1> >pass> > print>(>'Value of i :'>, i)> |
>
>Produzione
modello di riferimento osi nel networking
Value of i : 13>
Mentre esegui il loop con else
Come discusso in precedenza, il ciclo while esegue il blocco finché una condizione non viene soddisfatta. Quando la condizione diventa falsa, viene eseguita l'istruzione immediatamente successiva al ciclo. La clausola else viene eseguita solo quando la condizione while diventa falsa. Se esci dal ciclo o se viene sollevata un'eccezione, questa non verrà eseguita.
Nota: Il blocco else subito dopo for/ while viene eseguito solo quando il ciclo NON viene terminato da un'istruzione break.
Pitone
# 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'>)> |
>
>Produzione
1 2 3 4 No Break 1>
Dichiarazione controllata da Sentinel
In questo, non usiamo alcuna variabile contatore perché non sappiamo quante volte verrà eseguito il ciclo. Qui l'utente decide quante volte vuole eseguire il ciclo. Per questo, utilizziamo un valore sentinella. Un valore sentinella è un valore utilizzato per terminare un ciclo ogni volta che un utente lo accede, in genere il valore sentinella è -1.
Ciclo while Python con input dell'utente
Qui, prima chiede all'utente di inserire un numero. se l'utente inserisce -1 il ciclo non verrà eseguito, ad es.
- L'utente inserisce 6 e il corpo del ciclo viene eseguito e richiede nuovamente input
- Qui l'utente può inserire più volte finché non inserisce -1 per interrompere il ciclo
- L'utente può decidere quante volte vuole inserire l'input
Pitone
a>=> int>(>input>(>'Enter a number (-1 to quit): '>))> > while> a !>=> ->1>:> >a>=> int>(>input>(>'Enter a number (-1 to quit): '>))> |
>
>
Produzione:

Immagine della schermata di output
Ciclo while con valori booleani
Un uso comune dei valori booleani nei cicli while è quello di creare un ciclo infinito da cui è possibile uscire solo in base ad alcune condizioni all'interno del ciclo.
Esempio :
In questo esempio, inizializziamo un contatore e quindi utilizziamo un ciclo while infinito (True è sempre vero) per incrementare il contatore e stamparne il valore. Controlliamo se il contatore ha raggiunto un certo valore e in tal caso usciamo dal ciclo utilizzando l'istruzione break.
Pitone
# 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.'>)> |
>
>Produzione
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 ciclo con elenco Python
In questo esempio, abbiamo eseguito un ciclo while su un elenco che verrà eseguito finché non sarà presente un elemento nell'elenco.
Pitone
Javascript globale variabile
# checks if list still> # contains any element> a>=> [>1>,>2>,>3>,>4>]> > while> a:> >print>(a.pop())> |
>
>
python salva json su fileProduzione
4 3 2 1>
Singola istruzione durante il blocco
Proprio come il blocco if, se il blocco while è costituito da una singola istruzione possiamo dichiarare l'intero ciclo in un'unica riga. Se nel blocco che costituisce il corpo del loop sono presenti più istruzioni, è possibile separarle con il punto e virgola (;).
Pitone
# Python program to illustrate> # Single statement while block> count>=> 0> while> (count <>5>):> >count>+>=> 1> >print>(>'Hello Geek'>)> |
>
>Produzione
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek>
Domande sugli esercizi Python While Loop
Di seguito sono riportate due domande di esercizio sul ciclo while Python. Abbiamo trattato 2 importanti domande sugli esercizi basate sul programma della palla che rimbalza e sul programma del conto alla rovescia.
Q1. Domanda sull'esercizio in loop basato sul problema della palla che rimbalza
Pitone
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.'>)> |
>
>
Produzione
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.>
Q2. Semplice codice di esercizio while-loop per creare un orologio per il conto alla rovescia
Pitone
countdown>=> 10> while> countdown>>0>:> >print>(countdown)> >countdown>->=> 1> print>(>'Blast off!'>)> |
>
>
Produzione
10 9 8 7 6 5 4 3 2 1 Blast off!>