Простой Python. Современный стиль программирования (Любанович) - страница 54

>if color == "red":

Python оценит выражение color == "red". В нашем примере мы присвоили переменной color значение "puce", поэтому значение выражения color == "red" равно False и Python перейдет к следующей проверке:

>elif color == "green":

Повторяем действия с помощью while

Проверки с помощью if, elif и else выполняются последовательно. Иногда нам нужно выполнить какие-то операции более чем один раз. Нам нужен цикл, и простейшим вариантом циклов в Python является while. Попробуйте запустить с помощью интерактивного интерпретатора следующий пример — это простейший цикл, который выводит на экран значения от 1 до 5:

>>>> count = 1

>>>> while count <= 5:

>…·····print(count)

>…·····count += 1

>…

>1

>2

>3

>4

>5

>>>>

Сначала мы присваиваем значение 1 переменной count. Цикл while сравнивает значение переменной count с числом 5 и продолжает работу, если значение переменной count меньше или равно 5. Внутри цикла мы выводим значение переменной count, а затем увеличиваем его на 1 с помощью выражения count += 1. Python возвращается к верхушке цикла и снова сравнивает значение переменной count с числом 5. Значение переменной count теперь равно 2, поэтому содержимое цикла while выполняется снова и переменная count увеличивается до 3.

Это продолжается до тех пор, пока переменная count не будет увеличена с 5 до 6 в нижней части цикла. Во время очередного возврата наверх цикла проверка count <= 5 вернет значение False и цикл while закончится. Python перейдет к выполнению следующих строк.

Прерываем цикл с помощью break

Если вы хотите, чтобы цикл выполнялся до тех пор, пока что-то не произойдет, но вы не знаете точно, когда это событие случится, можете воспользоваться бесконечным циклом, содержащим оператор break. В этот раз мы считаем строку с клавиатуры с помощью функции input(), а затем выведем ее на экран, сделав первую букву прописной. Мы прервем цикл, когда будет введена строка, содержащая только букву «q»:

>>>> while True:

>…·····stuff = input("String to capitalize [type q to quit]: ")

>…·····if stuff == "q":

>…·········break

>…·····print(stuff.capitalize())

>…

>String to capitalize [type q to quit]: test

>Test

>String to capitalize [type q to quit]: hey, it works

>Hey, it works

>String to capitalize [type q to quit]: q

>>>>

Пропускаем итерации с помощью continue

Иногда вам нужно не прерывать весь цикл, а только пропустить по какой-то причине одну итерацию. Рассмотрим воображаемый пример: считаем целое число, выведем на экран его значение в квадрате, если оно четное, и пропустим его, если оно нечетное. Мы даже добавим несколько комментариев. И вновь для выхода из цикла используем строку "q":