Так же как и циклы while, циклы for могут иметь блок else, который выполняется, когда цикл for завершается без встречи с оператором break. Синтаксис for…else очень похож на синтаксис while…else.
Рассмотрим программу, которая проверяет, является ли заданное число простым. Число является простым, если оно больше 1 и не делится на числа, отличные от 1 и самого себя.
# Программа для проверки, является ли число простым
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')
Программа проверяет каждое число в диапазоне [2, num), чтобы определить, является ли оно делителем num. Если она находит такое число, то выводит {num} is not a prime number и выходит из цикла. Поскольку был выполнен оператор break, код в блоке else не выполняется. Однако если ни одно число в диапазоне не является делителем num, код в блоке else будет выполнен, и программа выведет {num} is a prime number.
Задание
Первая строка ввода содержит число n, за которым следуют n строк с целыми числами. Ваша задача — вывести The first even number in the list is {num} или There is no even number in the list, если среди введенных чисел нет четных. Попробуйте использовать цикл for с блоком else для решения этого задания!