Python ha due tipi di cicli: i cicli for e i cicli while. Mentre i cicli for iterano su una lista (iterabile) elemento per elemento, un ciclo while ripete le istruzioni all'interno del suo corpo finché la condizione nel comando while è soddisfatta. In questo senso, è molto simile a un'istruzione if. Esegue le istruzioni all'interno del ciclo while nel caso in cui la condizione sia vera:
i = 0
while i < 5:
print('Current i is:', i)
i += 1
print('Done')
Current i is: 0
Current i is: 1
Current i is: 2
Current i is: 3
Current i is: 4
Done
The program on the left will print this output
Inizialmente, a i viene assegnato il valore 0 ⇒ i = 0.
Poi, il programma verifica se i < 5 e poiché 0 < 5, entra nel corpo del while.
Il programma stampa Current i is: 0.
La variabile i incrementa il suo valore di 1 diventando i = 1.
Il programma ritorna alla condizione e verifica se i < 5. Poiché 1 < 5, entra nel corpo del while.
Il programma stampa Current i is: 1.
La variabile i incrementa il suo valore di 1 diventando i = 2.
Il programma verifica se i < 5. Poiché 2 < 5, entra nel corpo del while.
Il programma stampa Current i is: 2.
La variabile i incrementa il suo valore di 1 diventando i = 3.
Il programma verifica se i < 5. Poiché 3 < 5, entra nel corpo del while.
Il programma stampa Current i is: 3.
La variabile i incrementa il suo valore di 1 diventando i = 4.
Il programma verifica se i < 5. Poiché 4 < 5, entra nel corpo del while.
Il programma stampa Current i is: 4.
La variabile i incrementa il suo valore di 1 diventando i = 5.
Il programma verifica se i < 5. Poiché 5 = 5, il programma esce dal ciclo while e stampa Done.
Sfida
Dato un intero positivo n. Stampa il valore di n finché è maggiore di 0 e dividilo per 2 (prendendo solo la parte intera).