
Il ciclo while ripete l’esecuzione del blocco di istruzioni finché una certa condizione (espressione logica) è vera
Osserva
- prima di entrare si controlla il valore di A
- si eseguono un certo numero di istruzioni (un blocco)
- alla fine il controllo torna su per ripetere eventualmente l’esecuzione del blocco
- se il controllo non viene superato il controllo passa all’istruzione immediatamente successiva al ciclo while
- se il valore di A non viene modificato dalle istruzioni interne si ottiene un ciclo senza fine…
while(a > 0):
istr_1
istr_2
In alcuni casi è utile avere un ciclo senza fine: si scrive direttamente True come valore dell’espressione logica!
while(True):
istr_1
istr_2
L’interruzione del while si verificherà in corrispondenza di una certa condizione vera
while(True):
istr_1
istr_2
if(a <= 0):
break
Con indice
La situazione in cui il valore di una variabile controlla il ciclo è molto frequente
a=0 # 1. Inizializzazione
while(a < 10): # 2. Controllo
istr_1 # 3. Utilizzo di a
istr_2 # ...
... # ...
a=a+1 # 4. Aggiornamento con passo 1
La variabile è gestita fino a 4 volte
- inizializzata prima che il ciclo inizi
- controllata prima di ogni entrata
- utilizzata all’interno del blocco di istruzioni
- aggiornata dopo aver svolto le operazioni del blocco
In questi casi è più semplice utilizzare for
for a in range(START, STOP, STEP):
istr_1
istr_2
...
a = START
while(a < STOP):
istr_1
istr_2
...
a += STEP
L’uso del while è necessario se
- i valori dell’indice sono numeri decimali (la funzione range() di Python genera solo sequenze di numeri interi)
- il numero di ripetizioni non è noto a priori.