Содержание
Python — цикл while
Цикл while в Python будет выполнять заданное выражение или блок кода до тех пор, пока заданное условие будет считаться истиной (true).
Синтаксис
Синтаксис цикла while в Python такой:
while условие: действие(я)
Тут действие(я) могут быть либо одним выражением, или набором выражений — блоком кода. Условие можно быть любым выражением, а условие будет считаться истиной (true), если результат не равен нулю или не пустой. Цикл будет выполняться пока условие будет считаться истиной.
Когда условие будет считаться как ложь (false) — программа передаст выполнение следующему после цикла участку кода.
В Python все выражения, имеющие одинаковые отступы в одной конструкции будет считаться единым блоком кода.

Ключевым моментом цикла while является то, что он может вообще не быть запущен при выполнении программы. Если выражение проверено и его результат — ложь, то всё тело цикла будет пропущено, и будет выполнено следующее после цикла выражение.
Пример
count = 0 while (count < 9): print 'The count is:', count count = count + 1 print "Good bye!"
Результат выполнения:
The count is: 0 The count is: 1 The count is: 2 The count is: 3 The count is: 4 The count is: 5 The count is: 6 The count is: 7 The count is: 8 Good bye!
Бесконечный цикл while
Цикл становится бесконечным если условие никогда не станет ложью — поэтому вы должны относиться с вниманием к циклам, в которых используется while. Такие циклы называются «бесконечным циклом».
Бесконечные циклы могут полезны в клиент-серверном программировании, где сервер должен работать постоянно, что бы клиенты могли с ним работать.
var = 1
while var == 1 : # This constructs an infinite loop
num = raw_input("Enter a number :")
print "You entered: ", num
print "Good bye!"
Будучи запущенным, такой код приведёт к такому результату:
$ ./1.py
Enter a number :3
You entered: 3
Enter a number :4
You entered: 4
Enter a number :
You entered:
Enter a number :3
You entered: 3
Enter a number :5
You entered: 5
Enter a number :6
You entered: 6
Enter a number :1
You entered: 1
Enter a number :^CTraceback (most recent call last):
File "./1.py", line 5, in <module>
num = raw_input("Enter a number :")
KeyboardInterrupt
В этом примере будет выполняться бесконечный цикл, пока вы не нажмёте комбинацию Ctrl+C, что бы прервать выполнение программы.
Использование оператора else с циклом while
В Python допустимо использование оператора else, связанного с циклом:
- если оператор
elseиспользуется с цикломfor— он будет выполнен, когда список для цикла будет завершен; - при использовании
elseвместе с цикломwhile— он будет использован, когда условие примет значение ложь (false).
В следующем примере демонстрирует ся использование оператора else с циклом while, который выводит сообщение до тех пор, пока счётчик меньше 5, после чего будет выполнение действие оператора else:
count = 0 while count < 5: print count, " is less than 5" count = count + 1 else: print count, " is not less than 5"
Результат его выполнения:
0 is less than 5 1 is less than 5 2 is less than 5 3 is less than 5 4 is less than 5 5 is not less than 5
Цикл while с одним выражением
По аналогии с оператором if — если цикл while содержит единственное действие, то оно может быть помещено в той же строке:
flag = 1 while (flag): print 'Given flag is really true!' print "Good bye!"
24 411 views