В языке программирования Python цикл while многократно выполняет целевой оператор, пока заданное условие истинно.

Синтаксис

Синтаксис цикла while в языке программирования Python:

while выражение:
   оператор(ы)

Здесь оператор(ы) могут быть одиночным оператором или блоком операторов. Условие может быть любым выражением, а true — любым ненулевым значением. Цикл повторяется, пока условие истинно.

Когда условие становится ложным, управление программой переходит к строке, следующей за циклом.

В Python все операторы с отступом на одинаковое количество символов после программной конструкции считаются частью одного блока кода. Python использует отступы в качестве метода группировки операторов.

Блок-схема

Блок-схема цикла while в Python

Здесь ключевым моментом цикла while в Python является то, что цикл может никогда не запуститься. Когда условие проверяется и результат оказывается ложным, тело цикла будет пропущено, и будет выполнен первый оператор после цикла while.

Пример

#!/usr/bin/python

count = 0
while (count < 9):
   print 'Количество:', count
   count = count + 1

print "До свидания!"

Когда приведённый выше код выполнится, он даст следующий результат:

Количество: 0
Количество: 1
Количество: 2
Количество: 3
Количество: 4
Количество: 5
Количество: 6
Количество: 7
Количество: 8
До свидания!

Здесь блок, состоящий из операторов печати и инкремента, выполняется повторно до тех пор, пока значение count не станет меньше 9. С каждой итерацией отображается текущее значение счетчика индексов, которое затем увеличивается на 1.

Бесконечный цикл

В Python цикл становится бесконечным, если условие никогда не становится ЛОЖНЫМ. Вы должны соблюдать осторожность при использовании циклов while из-за возможности того, что это условие никогда не перейдёт в значение FALSE. Это приводит к циклу, который никогда не заканчивается. Такой в Python цикл while называется бесконечным циклом.

Бесконечный цикл может быть полезен в клиент-серверном программировании, когда сервер должен работать непрерывно, чтобы клиентские программы могли взаимодействовать с ним по мере необходимости.

Как сделать бесконечный цикл в Python? Ниже пример бесконечного цикла.

#!/usr/bin/python

var = 1
while var == 1 :  # Это создает бесконечный цикл
   num = raw_input("Введите число:")
   print "Вы ввели: ", num

print "До свидания!"

Когда приведённый выше код выполнится, он даст следующий результат:

Введите число :20
Вы ввели: 20
Введите число :29
Вы ввели: 29
Введите число :3
Вы ввели: 3

Вышеприведенный пример выполняется нескончаемо. Как остановить бесконечный цикл в Python? Используйте CTRL + C, чтобы выйти из бесконечного цикла и программы.

Использование оператора else с циклом while

Python поддерживает оператор else, объединенный с оператором цикла while. Если оператор else используется с циклом while, оператор else выполняется, когда условие становится ложным.

В следующем примере показано сочетание в Python оператора else с оператором while, который выводит число, если оно меньше 5, в противном случае выполняется оператор else.

#!/usr/bin/python

count = 0
while count < 5:
   print count, " меньше 5"
   count = count + 1
else:
   print count, " не меньше 5"

Когда приведённый выше код выполнится, он даст следующий результат:

0 меньше 5
1 меньше 5
2 меньше 5
3 меньше 5
4 меньше 5
5 не меньше 5

Цикл while в одну строку

Подобно синтаксису оператора if, если ваш цикл while состоит только из одного оператора, оно может быть помещено в ту же строку, что и заголовок while.

Ниже приведен синтаксис и пример однострочного while.

#!/usr/bin/python

flag = 1
while (flag): print 'flag действительно true!'
print "До свидания!"

Лучше не пробовать приведенный выше пример, потому что он входит в бесконечный цикл, и вам нужно нажать клавиши CTRL + C, чтобы выйти.

Оглавление