continue

Interromper um loop é ótimo, mas e se quisermos apenas saltar esta vez? E se não quisermos executar o resto do loop para este valor específico, mas queremos que o loop continue?

Para isso, podemos usar a instrução continue, que continuará a execução para a próxima iteração do loop:

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 irá saltar a execução para cada n em que n % 2 != 0 (n não é par).

O continue salta a execução de tudo o que vem depois dele. Portanto, tudo antes do continue ainda é executado. Python precisa de alcançar a instrução continue para saber que precisa de saltar o resto.

Desafio

Dado 10 números inteiros, o programa deve imprimir cada número se todas as condições forem verdadeiras:

  • É ímpar

  • Está fora do intervalo [3, 7]

  • Está fora do intervalo [11, 13]

  • Está fora do intervalo [17, 23]

Entrada

Saída

12 9 6 0 1 -1 41 28 27 17

9 1 -1 41 27

Note que [l, r] indica o intervalo de l até r onde ambos l e r são inclusivos.

Dica

Você pode saltar a execução do loop para cada um dos casos em que a condição não é satisfeita (assim, pode ter 4 instruções if com continue e uma instrução print no 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