Цикл 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.

codechick

СodeСhick.io - простой и эффективный способ изучения программирования.

2024 ©