Цикл while в Python
@DeusЦикл while
Цикл while в Python используется для повторения блока кода, пока выражение (условие) истинно, т.е. равно True.
Обычно этот цикл используют, когда заранее неизвестно, сколько раз нужно повторить блок кода.
Синтаксис цикла
while выражение: Тело while
Сначала цикл while проверяет выражение на истинность. Тело цикла начнет выполняться только в том случае, если выражение = True. После первой итерации цикла выражение снова проверяется на истинность. Этот процесс будет продолжаться до тех пор, пока выражение не станет равно False.
В Python тело цикла while обозначается отступами. Тело цикла начинается с отступа, а заканчивается первой строкой без отступа.
Помните, что Python интерпретирует ненулевые значения как True. None и 0 интерпретируются как False.

Пример использования цикла
# Программа складывает натуральные
# числа от 1 до n
# sum = 1+2+3+...+n
# Чтобы предложить пользователю ввести число n,
# напишите: n = int(input("Введите n: "))
n = 10
# объявляем переменные: сумма и счетчик
sum = 0
i = 1
while i <= n:
sum = sum + i
i = i+1 # обновляем счетчик
# выводим сумму на экран
print("Сумма чисел от 1 до n:", sum)
Вывод:
Введите n: 10 Сумма чисел от 1 до n: 55
В приведенной выше программе выражение будет равно True до тех пор, пока счетчик i меньше или равен n. В нашем примере n = 10.
Главное не забывать увеличивать значение счетчика в теле цикла while, иначе получится бесконечный цикл. выражение всегда будет истинным, поскольку i не будет увеличиваться, следовательно, цикл никогда не остановится.
Цикл while с блоком else
Так же, как и с циклами for, с циклами while можно использовать дополнительный блок else.
Блок else начнет выполняться, когда условие цикла while станет равно False.
Цикл while можно принудительно завершить с помощью инструкции break. В таких случаях блок else игнорируется. Иначе говоря, блок else выполняется только в том случае, если внутри тела while не использовался оператор break, а условие цикла while ложно.
Вот пример, который иллюстрирует это.
'''Программа демонстрирует
использование конструкции else
в комбинации с циклом while'''
counter = 0
while counter < 3:
print("Внутри цикла while")
counter = counter + 1
else:
print("Внутри блока else")
Вывод:
Внутри цикла while Внутри цикла while Внутри цикла while Внутри блока else
Мы использовали переменную-счетчик counter, чтобы напечатать сообщение «Внутри цикла while» ровно 3 раза.
На четвертой итерации, т. е. когда counter = 4 условие цикла while counter < 3 становится ложным, т. е. False. Тогда-то и выполняется блок else.