Interrompere un ciclo è utile, ma cosa succede se vogliamo semplicemente saltare un'iterazione? E se non volessimo eseguire il resto del ciclo per un valore specifico, ma volessimo continuare il ciclo?
Per fare ciò, possiamo usare l'istruzione continue, che continua l'esecuzione al prossimo giro del ciclo:
numbers = [1, 5, 6, 4, 0, -4, 8, 11, 2]
even_sum = 0
for n in numbers:
if n % 2 != 0:
continue
even_sum += n
print(n)
print('Sum:', even_sum)
6
4
0
-4
8
2
Sum: 16
Questo programma salterà l'esecuzione per ogni n per cui n % 2 != 0 (n non è pari).
continue salta l'esecuzione di tutto ciò che viene dopo di esso. Quindi, tutto ciò che precede continue viene comunque eseguito. Python deve arrivare all'istruzione continue per sapere che deve saltare il resto.
Sfida
Dato un elenco di 10 numeri interi, il programma dovrebbe stampare ogni numero se tutte le seguenti condizioni sono verificate:
È dispari
Si trova al di fuori dell'intervallo [3, 7]
Si trova al di fuori dell'intervallo [11, 13]
Si trova al di fuori dell'intervallo [17, 23]
Input
Output
12
9
6
0
1
-1
41
28
27
17
9
1
-1
41
27
Nota che [l, r] indica l'intervallo da l a r dove sia l che r sono inclusi.
Suggerimento
Puoi saltare l'esecuzione del ciclo per ciascuno dei casi in cui la condizione non è soddisfatta (quindi, puoi avere 4 istruzioni if con continue e un'istruzione print alla fine).