logo

Ciclo Python While

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

Ciclo Python While

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 file
Produzione

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!>