Теоретический материал по теме "Цикл while"
Инструкции управления циклом
Д.П. Кириенко - Программирование на языке Python (школа 179 г. Москвы)
После тела цикла можно написать слово else: и после него блок операций, который будет выполнен один раз после окончания цикла, когда проверяемое условие станет неверно:
i = 1
while i <= 10:
print(i)
i += 1
else:
print('Цикл окончен, i = ', i)
Казалось бы, никакого смысла в этом нет, ведь эту же инструкцию можно просто написать после окончания цикла. Смысл появляется только вместе с инструкцией break, использование которой внутри цикла приводит к немедленному прекращению цикла, и при этом не исполняется ветка else. Разумеется, инструкцию break осмыcленно вызывать только из инструкции if, то есть она должна выполняться только при выполнении какого-то особенного условия.
Другая инструкция управления циклом — continue (продолжение цикла). Если эта инструкция встречается где-то посередине цикла, то пропускаются все оставшиеся инструкции до конца цикла, и исполнение цикла продолжается со следующей итерации.
Инструкции break, continue и ветка else: можно использовать и внутри цикла for. Тем не менее, увлечение инструкциями break и continue не поощряется, если можно обойтись без их использования. Вот типичный пример плохого использования инструкции break.
while True:
length += 1
n //= 10
if n == 0:
break