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!