Comandi di controllo dei cicli in Python
Il controllo sull’esecuzione dei cicli è importante in tutti i linguaggi di alto livello.
Può essere uno strumento molto potente e nel caso specifico di Python ci sono alcune varianti interessanti, come ad esempio l’utilizzo della clausola ‘else’ direttamente nel ciclo ‘for’.
Il comando break
Come in C il comando break interrompe il più interno dei cicli ‘for’ oppure ‘while’.
Quindi in questo esempio il break andrà ad interrompere il ciclo for evidenziato in grassetto:
for n in range(2, 10): for x in range(2, n): if n % x == 0: print(n, 'equals', x, '*', n//x) else: break
La clausola ‘else’ come chiusura del loop
Come vedremo nell’esempio successivo, la clusola ‘else’ verrà elaborata una volta che l’iterazione del ‘for’ sarà terminata (ma avrebbe potuto essere anche un ‘while’ nel momento in cui la condizione diventa falsa).
La clausola ‘else’ non verrà elaborata invece quando il loop verrà terminato da un ‘break’.
Proviamo a cercare dei numeri primi:
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, 'equals', x, '*', n//x)
break
else:
#abbiamo trovato un numero primo
print(n, 'is a prime number')
>>> 2 is a prime number 3 is a prime number 4 equals 2 * 2 5 is a prime number 6 equals 2 * 3 7 is a prime number 8 equals 2 * 4 9 equals 3 * 3
Continue
Anche questo preso in prestito dal C, continua con la prossima iterazione del loop:
for num in range(2, 10): if num % 2 == 0: print("Found an even number", num) continue print("Found a number", num) Questo articolo è stato liberamente tradotto dalla documentazione ufficiale di Python. Allo stesso indirizzo trovate altri comandi e casi di utilizzo.