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



Pdf көрінісі
бет91/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   87   88   89   90   91   92   93   94   ...   334
Байланысты:
Изучаем Python

favorite_languages.py

favorite_languages = {
'jen': ['python', 'ruby'],
'sarah': ['c'],
'edward': ['ruby', 'go'],
'phil': ['python', 'haskell'],
}

for name, languages in favorite_languages.items():
print(f"\n{name.title()}'s favorite languages are:")

for language in languages:
print(f"\t{language.title()}")
Вы видите в точке 

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

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

перебирает элементы списка любимых 
языков каждого участника. Теперь каждый участник опроса может указать сколько 
угодно любимых языков программирования:
Jen's favorite languages are: 
Python 
Ruby 
Sarah's favorite languages are: 

Phil's favorite languages are: 
Python 
Haskell 


Вложение
125
Edward's favorite languages are: 
Ruby 
Go
Чтобы дополнительно усовершенствовать программу, включите в начало цикла 
for
словаря команду 
if
для проверки того, выбрал ли данный участник более одного 
языка программирования (проверка основана на значении 
len(languages)
). Если 
у участника только один любимый язык, текст сообщения изменяется для един-
ственного числа (например, «Sarah’s favorite language is C»).
ПРИМЕЧАНИЕ
Глубина вложения списков и словарей не должна быть слишком боль-
шой . Если вам приходится вкладывать элементы на глубину существенно большую, чем 
в предыдущих примерах, или если вы работаете с чужим кодом со значительной глуби-
ной вложения, скорее всего, у задачи существует более простое решение .
Словарь в словаре
Словарь также можно вложить в другой словарь, но в таких случаях код быстро 
усложняется. Например, если на сайте есть несколько пользователей с уникаль-
ными именами, вы можете использовать имена пользователей как ключи в сло-
варе. Информация о каждом пользователе при этом хранится в словаре, который 
используется как значение, связанное с именем. В следующем примере о каждом 
пользователе хранится три вида информации: имя, фамилия и место жительства. 
Чтобы получить доступ к этой информации, переберите имена пользователей 
и словарь с информацией, связанной с каждым именем:
many_users.py
users = {
'aeinstein': {
'first': 'albert',
'last': 'einstein',
'location': 'princeton',
},
'mcurie': {
'first': 'marie',
'last': 'curie',
'location': 'paris',
},
}

for username, user_info in users.items():

print(f"\nUsername: {username}")

full_name = f"{user_info['first']} {user_info['last']}"
location = user_info['location']

print(f"\tFull name: {full_name.title()}")
print(f"\tLocation: {location.title()}")


126

Достарыңызбен бөлісу:
1   ...   87   88   89   90   91   92   93   94   ...   334




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

    Басты бет