Аналогично конструкции for-else есть конструкция while-else
Как работает?
Блок while перед каждой итерацией проверяет условие. Если оно верно, то выполняется блок цикла. Если нет, то выполняется блок else, после которого выход из итерации.
Так это обычно выглядит в виде простой и понятной записи:
while True:
if [condition]:
# здесь тело цикла
else:
# здесь выполняем код перед выходом
break
# выходим из цикла
Почему мы не поместили кондишен непосредственно после while? Чтобы перехватить его изменение и выполнить что-то еще, используя дополнительные условия.
А вот так в сокращенном виде
while [condition]:
# здесь тело цикла
else:
# здесь выполняем код перед выходом
Стоит уточнить, что если в теле цикла вызвать break, то блок else не сработает.
#tricks