М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет76/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   72   73   74   75   76   77   78   79   ...   334
Байланысты:
Изучаем Python


Глава 5 • Команды if

requested_toppings = []

if requested_toppings:
for requested_topping in requested_toppings:
print(f"Adding {requested_topping}.")
print("\nFinished making your pizza!")

else:
print("Are you sure you want a plain pizza?")
На этот раз мы начинаем с пустого списка заказанных топпингов в точке 

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

. Когда имя списка используется в условии 
if
, Python возвращает 
True
, если 
список содержит хотя бы один элемент; если список пуст, возвращается значение 
False
. Если 
requested_toppings
проходит проверку условия, выполняется тот же 
цикл 
for
, который мы использовали в предыдущем примере. Если же условие 
ложно, то программа выводит сообщение, которое предлагает клиенту подтвердить, 
действительно ли он хочет получить базовую пиццу без дополнений 

.
В данном примере список пуст, поэтому выводится сообщение:
Are you sure you want a plain pizza?
Если в списке есть хотя бы один элемент, то в выходные данные включается каж-
дый заказанный топпинг.
Множественные списки
Посетители способны заказать что угодно, особенно когда речь заходит о топпингах 
к пицце. Что, если клиент захочет положить на пиццу картофель-фри? Списки 
и команды 
if
позволят вам убедиться в том, что входные данные имеют смысл, 
прежде чем обрабатывать их.
Давайте проверим наличие нестандартных дополнений перед тем, как готовить 
пиццу. В следующем примере определяются два списка. Первый список содержит 
перечень доступных топпингов, а второй — список топпингов, заказанных клиен-
том. На этот раз каждый элемент из 
requested_toppings
проверяется по списку 
доступных топпингов перед добавлением в пиццу:

available_toppings = ['mushrooms', 'olives', 'green peppers',
'pepperoni', 'pineapple', 'extra cheese']

requested_toppings = ['mushrooms', 'french fries', 'extra cheese']

for requested_topping in requested_toppings:

if requested_topping in available_toppings:
print(f"Adding {requested_topping}.")

else:
print(f"Sorry, we don't have {requested_topping}.")
print("\nFinished making your pizza!")


Использование команд if со списками
103
В точке 

определяется список доступных топпингов к пицце. Стоит заметить, 
что если в пиццерии используется постоянный ассортимент топпингов, этот спи-
сок можно реализовать в виде кортежа. В точке 

создается список топпингов, 
заказанных клиентом. Обратите внимание на необычный заказ 
'french
fries'

В точке 

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

. Если топпинг доступен, он добавляется в пиццу. Если 
заказанный топпинг не входит в список, выполняется блок 
else

. Блок 
else
вы-
водит сообщение о том, что топпинг недоступен.
С этим синтаксисом программа выдает четкий, содержательный вывод:
Adding mushrooms.
Sorry, we don't have french fries.
Adding extra cheese.
Finished making your pizza!
Всего в нескольких строках кода нам удалось эффективно решить вполне реальную 
проблему!


Достарыңызбен бөлісу:
1   ...   72   73   74   75   76   77   78   79   ...   334




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

    Басты бет