Il ciclo while


VAI AL VIDEO YOUTUBE

Il while è un istruzione di controllo del flusso che permette di ripetere l’esecuzione di un blocco di codice finché (while appunto, significa mentre) una condizione é vera.

https://youtu.be/JFfBm9MdzdM

Sintassi

La sua sintassi di base è la sequente:

while condition:
   #line of code

Anche in questo caso dobbiamo fare attenzione ad indentare correttamente il codice all’interno del while. Tutto il codice che deve essere contenuto all’interno del ciclo deve essere indentato correttamente, un tab più a sinistra.

contatore = 0
while contatore < 5:
    print(contatore)
    contatore+=1

In queste semplici righe di codice vediamo quello che è tra i più semplici e diffusi utilizzi che si fanno del ciclo while. Abbiamo creato una variabile numerica con valore 0 ed un ciclo che continua a ripetere il suo contenuto finché la nostra variabile avrà un valore inferiore a 5. In particolare ogni volta i ciclo stamperà a video il valore della variabile e solo dopo aumenterà il suo valore di 1. Questo significa che l’output atteso da questo programma sarà:

>0
>1
>2
>3
>4

Notiamo che in questo caso il primo numero stampato è lo zero ( il primo valore che abbiamo assegnato alla nostra variabile ) e l’ultimo valore stampato è il 4 ( l’ultimo controllo che fa è 5 < 5 che da come risultato false, quindi non entra nel ciclo ), per un totale di 5 iterazioni del ciclo in totale. Completamente diverso invece è l’output di quest’altro codice:

numero = 0
while numero < 5:
numero+=1
print(numero)

OUTPUT:

>1
>2
>3
>4
>5

In questo caso invece il numero viene incrementato prima che la funzione print() stampi il valore della variabile a video.


Break

Un altro comando che viene usato molto spesso in accoppiata con i cicli ( si ne esiste anche un altro tipo! ), è l’istruzione break. Questa istruzione serve per interrompere “bruscamente” il ciclo senza che la condizione diventi negativa.

numero = 0
while numero < 10:
    print(numero)
    if numero == 2:
        print("adesso asco dal while")
        break
    numero++

Ad esempio in questo caso abbiamo creato un ciclo la cui condizione rimarrebbe vera fino a quando la variabile numero ha un valore inferiore a 10 ma in questo caso il ciclo si interrompe prima, quando numero vale 2 in quanto viene verificata la condizione del if e viene eseguita l’istruzione di break.