Цикл while в Python
Циклы в программировании нужны, чтобы повторять один и тот же блок кода определенное количество раз. В этой статье вы научитесь создавать и использовать цикл while в Python.
Цикл 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
.