Байланысты: Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )
Глава 5 • Команды if
в точке
. Когда имя списка используется в условии
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("Adding " + requested_topping + ".")
else:
print("Sorry, we don't have " + requested_topping + ".")
print("\nFinished making your pizza!")
В точке
определяется список доступных дополнений к пицце. Стоит заметить,
что если в пиццерии используется постоянный ассортимент дополнений, этот спи-
сок можно реализовать в виде кортежа. В точке
создается список дополнений,
заказанных клиентом. Обратите внимание на необычный заказ
'french
fries'
.
В точке
программа перебирает список заказанных дополнений. Внутри цикла
программа сначала проверяет, что каждое заказанное дополнение присутствует
в списке доступных дополнений
. Если дополнение доступно, оно добавляется
в пиццу. Если заказанное дополнение не входит в список, выполняется блок
else
.
Блок
else
выводит сообщение о том, что дополнение недоступно.
С этим синтаксисом программа выдает четкий, содержательный вывод:
Оформление команд if
99 Adding mushrooms.
Sorry, we don't have french fries.
Adding extra cheese.
Finished making your pizza!
Всего в нескольких строках кода нам удалось эффективно решить вполне реальную
проблему!