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



Pdf көрінісі
бет68/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   64   65   66   67   68   69   70   71   ...   238
pizza.py

# Сохранение информации о заказанной пицце.

pizza = {



    'crust': 'thick',

    'toppings': ['mushrooms', 'extra cheese'],

    }

# Описание заказа.



print("You ordered a " + pizza['crust'] + "-crust pizza " +

    "with the following toppings:")

for topping in pizza['toppings']:



    print("\t" + topping)

Работа начинается в точке  со словаря с информацией о заказанной пицце. 

С ключом в словаре 

'crust'


 связано строковое значение 

'thick'


. С другим ключом 

'toppings'

 связано значение-список, в котором хранятся все заказанные допол-

нения. В точке  выводится описание заказа перед созданием пиццы. Чтобы вы-

вести список дополнений, мы используем ключ 

'toppings'

, а Python берет список 

дополнений из словаря.

Следующее сообщение описывает пиццу, которую мы собираемся создать:

You ordered a thick-crust pizza with the following toppings: 

    mushrooms 

    extra cheese

Вложение списка в словарь может применяться каждый раз, когда с одним ключом 

словаря должно быть связано более одного значения. Если бы в предыдущем при-

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

опроса мог бы выбрать сразу несколько любимых языков. При переборе словаря 

значение, связанное с каждым человеком, представляло бы собой список языков 



Вложение    117

(вместо одного языка.) В цикле 

for

 словаря создается другой цикл для перебора 



списка языков, связанных с каждым участником:

favorite_languages.py

favorite_languages = {



    'jen': ['python', 'ruby'],

    'sarah': ['c'],

    'edward': ['ruby', 'go'],

    'phil': ['python', 'haskell'],

    }



for name, languages in favorite_languages.items():



    print("\n" + name.title() + "'s favorite languages are:")

    for language in languages:



        print("\t" + language.title())

Вы видите в точке , что значение, связанное с каждым именем, теперь представ-

ляет собой список. У некоторых участников только один любимый язык програм-

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

переменная с именем 

languages

 используется для хранения каждого значения 

из словаря, потому что мы знаем, что каждое значение будет представлять собой 

список. В основном цикле по элементам словаря другой цикл  перебирает эле-

менты списка любимых языков каждого участника.

Теперь каждый участник опроса может указать сколько угодно любимых языков 

программирования:

Jen's favorite languages are: 

    Python 

    Ruby 

Sarah's favorite languages are: 

    C 

Phil's favorite languages are: 



    Python 

    Haskell 

Edward's favorite languages are: 

    Ruby 

    Go

Чтобы дополнительно усовершенствовать программу, включите в начало цикла 



for

 

словаря команду 



if

 для проверки того, выбрал ли данный участник более одного 

языка программирования (проверка основана на значении 

len(languages)

). Если 

у участника только один любимый язык, текст сообщения изменяется для един-

ственного числа (например, «Sarah’s favorite language is C»).



Достарыңызбен бөлісу:
1   ...   64   65   66   67   68   69   70   71   ...   238




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

    Басты бет