В Python у циклов while и for есть опциональный блок else, который проверяет, выполнился ли цикл полностью. Если ключевое слово break не было вызвано, будет выполнен блок else.
while… else:
numbers = [1, 3, 5] position = 0 while position < len(numbers): number = numbers[position] if number % 2 == 0: print('Найдено четное число', number) break position += 1 else: print('Четное число не найдено')
for… else:
numbers = [1, 3, 5] for number in numbers: if number % 2 == 0: print('Найдено четное число', number) break else: print('Четное число не найдено')
Подобная конструкция позволяет выполнить некоторое действие при полном завершении работы с циклом (вывод сообщения здесь — явный флаг штатного завершения обхода цикла):
for name in ['Алиса', 'Боб']: print(name) else: print('Обход цикла завершен')