В Python циклы for и while поддерживают опциональное предложение else — фича, которую часто упускают из виду, но она очень полезна для определённых паттернов.
else?Блок else выполняется, когда цикл завершается нормально, то есть его не прервали оператором break. Он не выполнится, если:
break выходит из цикла досрочноОн выполнится, если:
for)False (цикл while)# Поиск элемента
for item in collection:
if item == target:
print("Found!")
break
else:
print("Not found.") # Выполнится только если break не произошёл
Самый частый случай — циклы поиска, когда ты хочешь выполнить какое-то действие только если совпадение не найдено:
else тебе нужна отдельная переменная-флаг для отслеживания того, был ли вызван breakelse логика чище и более pythonicelse работает одинаково для обоих циклов for и whileFalse условие), всё равно выполнит блок elseif/else — думай о ней как о предложении "no break"Блок else в цикле выполняется, когда цикл завершается через оператор break.
Новый — ещё не проверен сообществом
Вы