continue

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).
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue