La clausola else nei cicli for e while ( python )
Nel linguaggio python posso usare la clausola else anche nei cicli for e while. Non solo nelle istruzioni condizionali if.
La sintassi
while/for (condizione):
blocco1
else:
blocco 2
A cosa serve la clausola else in un ciclo?
In una struttura iterativa la clausola else indica il codice da eseguire al termine del ciclo.
Il blocco viene eseguito dopo l'ultima iterazione.
Esempio
La clausola else nei cicli iterativi è una caratteristica del linguaggio Python.
Non è presente negli altri linguaggi di programmazione, come il linguaggio C o Java, dove la else è usata soltanto nelle strutture di controllo condizionali.
In python posso usare la clausola else sia in un ciclo for che in un ciclo while.
Attenzione. Se il ciclo viene interrotto anticipatamente tramite l'istruzione break, la clausola else non viene eseguita dall'interprete, perché il ciclo si interrompe a causa di un'uscita forzata.
Esempi pratici
Ecco qualche esempio pratico di utilizzo della else nelle strutture cicliche di python.
Esempio 1 (for)
In questo script utilizzo una struttura iterativa for con 5 iterazioni.
- for x in range(1,6):
- print(x)
- else:
- print("fine")
Al termine della quinta iterazione, la for esegue la clausola else.
L'output del programma è il seguente:
1
2
3
4
5
fine
La clausola else viene eseguita dopo l'ultima iterazione del ciclo.
E' una sorta di iterazione aggiuntiva finale.
Esempio 2 (while)
In questo secondo script sviluppo un ciclo while con 5 iterazioni.
- x=1
- while(x<6):
- print(x)
- else:
- print("fine")
Alla fine della quinta iterazione, la while esegue la clausola else.
L'output del programma è il seguente:
1
2
3
4
5
fine
Il funzionamento della clausola else è praticamente identico sia in un ciclo for che in un ciclo while.
E così via.