На этом шаге мы рассмотрим назначение и особенности использования этого оператора.
Выполнение инструкций в цикле while продолжается до тех пор, пока логическое выражение истинно. Цикл while имеет следующий формат:
<Начальное значение> while <Условие>: <Инструкции> <Приращение> [else: <Блок, выполняемый, если не использовался оператор break> ]
Последовательность работы цикла while:
Выведем все числа от 1 до 10, используя цикл while (рисунок 1).
i = 1 # <Начальное значение> while i < 11: # <Условие> print(i) # <Инструкции> i += 1 # <Приращение>
Рис.1. Вывод часел от 1 до 10. Текст программы и результат выполнения
Выведем все числа от 100 до 1:
i = 100 while i: print(i) i -= 1
Обратите внимание на условие - оно не содержит операторов сравнения. На каждой итерации цикла мы вычитаем единицу из значения переменной-счетчика. Как только значение будет равно 0, цикл остановится. Как вы уже знаете, число 0 в логическом контексте эквивалентно значению False, а проверка на равенство выражения значению True выполняется по умолчанию.
С помощью цикла while можно перебирать и элементы различных структур. Но в этом случае следует помнить, что цикл while работает медленнее цикла for. В качестве примера умножим каждый элемент списка на 2:
arr = [1, 2, 3] i, count = 0, len(arr) while i < count: arr[i] *= 2 i += 1 print(arr)
Рис.2. Перебор элементов списка. Текст программы и результат выполнения
На следующем шаге мы рассмотрим оператор continue.