for … else

Assim como os ciclos while, os ciclos for podem ter blocos else que são executados quando o ciclo for é concluído sem encontrar uma instrução break. A sintaxe de for…else é muito semelhante à sintaxe de while…else.
Vamos considerar este programa que verifica se o número dado é 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 próprio.
# 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 tal número, irá imprimir {num} is not a prime number e sair do ciclo. 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 na cláusula else será executado, e o programa irá imprimir {num} is a prime number.

Desafio

A primeira linha da entrada contém n, seguida de n linhas de números inteiros. A 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 de entrada for par. Tente utilizar um ciclo for com um bloco else para resolver este desafio!
Entrada
Saída
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: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB

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