Detener un bucle está bien, pero ¿qué pasa si solo queremos saltarnos esta vez? ¿Y si no queremos ejecutar el resto del bucle para este valor específico, pero queremos que el bucle continúe?
Para hacer eso, podemos usar la instrucción continue, que continúa la ejecución a la siguiente vuelta del bucle:
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
Este programa saltará la ejecución para cada n donde n % 2 != 0 (n no es par).
continue omite la ejecución de todo lo que viene después de él. Por lo tanto, todo lo que está antes de continue sigue ejecutándose. Python tiene que llegar a la instrucción continue para saber que necesita saltar el resto.
Desafío
Dados 10 números enteros, el programa debe imprimir cada número si se cumplen todas las condiciones:
Es impar
Está fuera del rango [3, 7]
Está fuera del rango [11, 13]
Está fuera del rango [17, 23]
Entrada
Salida
12
9
6
0
1
-1
41
28
27
17
9
1
-1
41
27
Ten en cuenta que [l, r] indica el rango desde l hasta r, donde tanto l como r son inclusivos.
Consejo
Puedes saltar la ejecución del bucle en cada caso donde la condición no se cumple (así, puedes tener 4 declaraciones if con continue y una instrucción print al final).