Python 3 - while Loop Statements

UN while L'istruzione loop nel linguaggio di programmazione Python esegue ripetutamente un'istruzione target fino a quando una data condizione è vera.

Sintassi

La sintassi di a while loop nel linguaggio di programmazione Python è -

while expression:
   statement(s)

Qui, statement(s)può essere una singola istruzione o un blocco di istruzioni con trattino uniforme. Ilconditionpuò essere qualsiasi espressione e vero è qualsiasi valore diverso da zero. Il ciclo itera mentre la condizione è vera.

Quando la condizione diventa falsa, il controllo del programma passa alla riga immediatamente successiva al ciclo.

In Python, tutte le istruzioni rientrate dello stesso numero di spazi di caratteri dopo un costrutto di programmazione sono considerate parte di un singolo blocco di codice. Python usa l'indentazione come metodo per raggruppare le istruzioni.

Diagramma di flusso

Qui, un punto chiave del ciclo while è che il ciclo potrebbe non essere mai eseguito. Quando la condizione viene verificata e il risultato è falso, il corpo del ciclo verrà ignorato e verrà eseguita la prima istruzione dopo il ciclo while.

Esempio

#!/usr/bin/python3

count = 0
while (count < 9):
   print ('The count is:', count)
   count = count + 1

print ("Good bye!")

Produzione

Quando il codice sopra viene eseguito, produce il seguente risultato:

The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!

Il blocco qui, costituito dalle istruzioni print e increment, viene eseguito ripetutamente finché count non è più inferiore a 9. Ad ogni iterazione, il valore corrente dell'indice count viene visualizzato e quindi aumentato di 1.

Il ciclo infinito

Un ciclo diventa ciclo infinito se una condizione non diventa mai FALSE. È necessario prestare attenzione quando si utilizzano i cicli while a causa della possibilità che questa condizione non si risolva mai in un valore FALSE. Ciò si traduce in un ciclo che non finisce mai. Un tale ciclo è chiamato ciclo infinito.

Un ciclo infinito potrebbe essere utile nella programmazione client / server in cui il server deve essere eseguito continuamente in modo che i programmi client possano comunicare con esso come e quando richiesto.

Esempio

#!/usr/bin/python3

var = 1
while var == 1 :  # This constructs an infinite loop
   num = int(input("Enter a number  :"))
   print ("You entered: ", num)

print ("Good bye!")

Produzione

Quando il codice sopra viene eseguito, produce il seguente risultato:

Enter a number  :20
You entered:  20
Enter a number  :29
You entered:  29
Enter a number  :3
You entered:  3
Enter a number  :11
You entered:  11
Enter a number  :22
You entered:  22
Enter a number  :Traceback (most recent call last):
   File "examples\test.py", line 5, in 
      
        num = int(input("Enter a number :")) KeyboardInterrupt 
      

L'esempio sopra va in un ciclo infinito e devi usare CTRL + C per uscire dal programma.

Uso dell'istruzione else con i cicli

Python supporta avere un file else istruzione associata a un'istruzione loop.

  • Se la else istruzione viene utilizzata con a for loop, il else viene eseguita quando il ciclo ha esaurito l'iterazione della lista.

  • Se la else istruzione viene utilizzata con a while loop, il else viene eseguita quando la condizione diventa falsa.

L'esempio seguente illustra la combinazione di un'istruzione else con un'istruzione while che stampa un numero fintanto che è inferiore a 5, altrimenti l'istruzione else viene eseguita.

Esempio

#!/usr/bin/python3

count = 0
while count < 5:
   print (count, " is  less than 5")
   count = count + 1
else:
   print (count, " is not less than 5")

Produzione

Quando il codice sopra viene eseguito, produce il seguente risultato:

0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5

Single Statement Suites

Simile al if sintassi dell'istruzione, se il tuo while la clausola consiste solo in una singola istruzione, può essere posizionata sulla stessa riga dell'intestazione while.

Esempio

Ecco la sintassi e l'esempio di un file one-line while clausola -

#!/usr/bin/python3

flag = 1
while (flag): print ('Given flag is really true!')
print ("Good bye!")

L'esempio precedente entra in un ciclo infinito ed è necessario premere i tasti CTRL + C per uscire.