Книга «Изучаем Python»



Pdf көрінісі
бет61/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   57   58   59   60   61   62   63   64   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )


Глава 5 • Команды if
• Если значение больше или равно 2, но меньше 4 — малыш .
• Если значение больше или равно 4, но меньше 13 — ребенок .
• Если значение больше или равно 13, но меньше 20 — подросток .
• Если значение больше или равно 20, но меньше 65 — взрослый .
• Если значение больше или равно 65 — пожилой человек .
5-7 . Любимый фрукт: составьте список своих любимых фруктов . Напишите серию независи-
мых команд if для проверки того, присутствуют ли некоторые фрукты в списке .
• Создайте список трех своих любимых фруктов и назовите его favorite_fruits .
• Напишите пять команд if . Каждая команда должна проверять, входит ли определен-
ный тип фрукта в список . Если фрукт входит в список, блок if должен выводить со-
общение вида «You really like bananas!» .
Использование команд if со списками
Объединение команд 
if
со списками открывает ряд интересных возможностей. На-
пример, вы можете отслеживать специальные значения, для которых необходима 
особая обработка по сравнению с другими значениями в списке, или эффективно 
управлять изменяющимися условиями — например, наличием некоторых блюд 
в ресторане. Также объединение команд 
if
со списками помогает продемонстри-
ровать, что ваш код корректно работает во всех возможных ситуациях.
Проверка специальных значений
Эта глава началась с простого примера, показывающего, как обрабатывать осо-
бые значения (такие, как 
'bmw'
), которые должны выводиться в другом формате 
по сравнению с другими значениями в списке. Теперь, когда вы лучше разбираетесь 
в проверках условий и командах 
if
, давайте повнимательнее рассмотрим процесс 
поиска и обработки особых значений в списке.
Вернемся к примеру с пиццерией. Программа выводит сообщение каждый раз, ког-
да пицца снабжается дополнением в процессе приготовления. Код этого действия 
можно записать чрезвычайно эффективно: нужно создать список дополнений, зака-
занных клиентом, и использовать цикл для перебора всех заказанных дополнений:
toppings.py
requested_toppings = ['mushrooms', 'green peppers', 'extra cheese']
for requested_topping in requested_toppings:
print("Adding " + requested_topping + ".")
print("\nFinished making your pizza!")
Вывод достаточно тривиален, поэтому код сводится к простому циклу 
for
:
Adding mushrooms.
Adding green peppers.
Adding extra cheese.
Finished making your pizza!


Использование команд if со списками
97
А если в пиццерии вдруг кончится зеленый перец? Команда 
if
в цикле 
for
может 
правильно обработать эту ситуацию:
requested_toppings = ['mushrooms', 'green peppers', 'extra cheese']
for requested_topping in requested_toppings:
 
if requested_topping == 'green peppers':
print("Sorry, we are out of green peppers right now.")
 
else:
print("Adding " + requested_topping + ".")
print("\nFinished making your pizza!")
На этот раз программа проверяет каждый заказанный элемент перед добавлением 
его к пицце. В точке 

программа проверяет, заказал ли клиент зеленый перец, 
и если заказал — выводит сообщение о том, что этого дополнения нет. Блок 
else
в точке 

гарантирует, что все другие дополнения будут включены в заказ.
Из выходных данных видно, что все заказанные дополнения обрабатываются 
правильно:
Adding mushrooms.
Sorry, we are out of green peppers right now.
Adding extra cheese.
Finished making your pizza!
Проверка наличия элементов в списке
Для всех списков, с которыми мы работали до сих пор, действовало одно про-
стое предположение: мы считали, что в каждом списке есть хотя бы один эле-
мент. Скоро мы предоставим пользователю возможность вводить информацию, 
хранящуюся в списке, поэтому мы уже не можем предполагать, что при каждом 
выполнении цикла в списке есть хотя бы один элемент. В такой ситуации перед 
выполнением цикла 
for
будет полезно проверить, есть ли в списке хотя бы один 
элемент.
Проверим, есть ли элементы в списке заказанных дополнений, перед изготовлением 
пиццы. Если список пуст, программа предлагает пользователю подтвердить, что он 
хочет базовую пиццу без дополнений. Если список не пуст, пицца готовится так 
же, как в предыдущих примерах:
 
requested_toppings = []
 
if requested_toppings:
for requested_topping in requested_toppings:
print("Adding " + requested_topping + ".")
print("\nFinished making your pizza!")
 
else:
print("Are you sure you want a plain pizza?")
На этот раз мы начинаем с пустого списка заказанных дополнений в точке 


Вместо того чтобы сразу переходить к циклу 
for
, программа выполняет проверку 


98

Достарыңызбен бөлісу:
1   ...   57   58   59   60   61   62   63   64   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет