Python Оператор цикла while

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

while 判断条件(condition):
    执行语句(statements)……

Исполняемый оператор может быть одним оператором или блоком операторов. Условие проверки может быть любым выражением, и любое ненулевое или не равное null значение истинно.

Когда условие проверки ложно, цикл завершается.

Схема выполнения выглядит следующим образом:

GIF-анимация, демонстрирующая процесс выполнения оператора while в Python

Немного сложнее:

Пример

#!/usr/bin/python count = 0 while (count < 9): print 'Счётчик равен:', count count = count + 1 print "До свидания!"

Запустить пример »

Вывод после выполнения приведённого выше кода:

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 есть две другие важные команды, continue и break, для пропуска цикла. continue используется для пропуска текущей итерации, а break — для выхода из цикла. Кроме того, "условие проверки" также может быть константным значением, что означает, что цикл всегда истинен. Конкретное использование выглядит следующим образом:

# Использование continue и break i = 1 while i < 10: i += 1 if i%2 > 0: # Пропустить вывод, когда число не является чётным continue print i # Вывести чётные числа 2, 4, 6, 8, 10 i = 1 while 1: # Условие цикла равно 1, что всегда истинно print i # Вывод 1~10 i += 1 if i > 10: # Выйти из цикла, когда i больше 10 break


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

Если проверяемое условие всегда истинно, цикл будет выполняться бесконечно, как в следующем примере:

Пример

#!/usr/bin/python # -*- coding: UTF-8 -*- var = 1 while var == 1 : # Это условие всегда истинно, цикл будет выполняться бесконечно num = raw_input("Введите число :") print "Вы ввели: ", num print "До свидания!"

Вывод вышеприведённого примера:

Enter a number  :20
You entered:  20
Enter a number  :29
You entered:  29
Enter a number  :3
You entered:  3
Enter a number between :Traceback (most recent call last):
  File "test.py", line 5, in <module>
    num = raw_input("Enter a number :")
KeyboardInterrupt

Примечание:Вы можете использовать CTRL+C, чтобы прервать вышеуказанный бесконечный цикл.



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

В Python while ... else выполняет блок else, когда условие цикла ложно:

Пример

#!/usr/bin/python count = 0 while count < 5: print count, " меньше 5" count = count + 1 else: print count, " не меньше 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


Группа простых операторов

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

Пример

#!/usr/bin/python flag = 1 while (flag): print 'Данный флаг действительно true!' print "До свидания!"

Примечание:Для вышеуказанного бесконечного цикла вы можете использоватьCTRL+Cчтобы прервать цикл.

Другие расширения