Изучаем Python | страница 70



В данном примере список пуст, поэтому выводится сообщение:

Are you sure you want a plain pizza?

Если в списке есть хотя бы один элемент, в выходные данные включается каждое заказанное дополнение.

Множественные списки


Посетители способны заказать что угодно, особенно когда речь заходит о дополнениях к пицце. Что если клиент захочет положить на пиццу картофель фри? Списки и команды if позволят вам убедиться в том, что входные данные имеют смысл, прежде чем обрабатывать их.

Давайте проверим наличие нестандартных дополнений перед тем, как готовить пиццу. В следующем примере определяются два списка. Первый список содержит перечень доступных дополнений, а второй — список дополнений, заказанных клиентом. На этот раз каждый элемент из requested_toppings проверяется по списку доступных дополнений перед добавлением в пиццу:

(1) available_toppings = ['mushrooms', 'olives', 'green peppers',

. . . . . . . . . . 'pepperoni', 'pineapple', 'extra cheese']


(2)requested_toppings = ['mushrooms', 'french fries', 'extra cheese']


(3)for requested_topping in requested_toppings:

(4) . .if requested_topping in available_toppings:

. . . .print("Adding " + requested_topping + ".")

(5) . .else:

. . . .print("Sorry, we don't have " + requested_topping + ".")

. . . .

print("\nFinished making your pizza!")

В точке (1) определяется список доступных дополнений к пицце. Стоит заметить, что если в пиццерии используется постоянный ассортимент дополнений, этот список можно реализовать в виде кортежа. В точке (2) создается список дополнений, заказанных клиентом. Обратите внимание на необычный заказ 'french fries'. В точке (3) программа перебирает список заказанных дополнений. Внутри цикла программа сначала проверяет, что каждое заказанное дополнение присутствует в списке доступных дополнений (4). Если дополнение доступно, оно добавляется в пиццу. Если заказанное дополнение не входит в список, выполняется блок else (5). Блок else выводит сообщение о том, что дополнение недоступно.

С этим синтаксисом программа выдает четкий, содержательный вывод:

Adding mushrooms.

Sorry, we don't have french fries.

Adding extra cheese.


Finished making your pizza!

Всего в нескольких строках кода нам удалось эффективно решить вполне реальную проблему!

Упражнения

5-8. Hello Admin: создайте список из пяти и более имен пользователей, включающий имя ‘admin’. Представьте, что вы пишете код, который выводит приветственное сообщение для каждого пользователя после его входа на сайт. Переберите элементы списка и выведите сообщение для каждого пользователя.