for … else

Assim como os loops while, os loops for podem ter blocos else que são executados quando o loop for é concluído sem encontrar uma instrução break. A sintaxe para for…else é muito semelhante à sintaxe de while…else.
Vamos considerar este programa que verifica se um número fornecido é primo ou não. Um número é primo se for maior que 1 e não puder ser dividido por nenhum número além de 1 e ele mesmo.
# Programa para verificar se um número é primo ou não
num = int(input('Enter a number: '))
for i in range(2, num):
    if num % i == 0:
        print(f'{num} is not a prime number')
        break
else:
    print(f'{num} is a prime number')
O programa irá verificar cada número dentro do intervalo [2, num) para ver se é um fator de num. Se encontrar um número assim, ele imprimirá {num} is not a prime number e sairá do loop. Como uma instrução break foi executada, o código no bloco else não será executado. No entanto, se nenhum número no intervalo for um fator de num, o código no bloco else será executado, e o programa imprimirá {num} is a prime number.

Desafio

A primeira linha da entrada contém n, seguida por n linhas de números inteiros. Sua tarefa é imprimir The first even number in the list is {num} ou There is no even number in the list se nenhum dos números fornecidos for par. Tente usar um loop for com um bloco else para resolver este desafio!
Input
Output
5 -1 3 4 -3 6
The first even number in the list is 4
4 1 3 -7 17
There is no even number in the list

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