"""
6-1 使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键
first_name 、 last_name 、 age 和 city 。将存储在该字典中的每项信息都打印出来。
"""
info = {'first_name': 'leboron', 'last_name': 'jams', 'age': 34, 'city': 'akron'}
first_name = info['first_name']
last_name = info['last_name']
age = info['age']
city = info['city']
print(first_name.title() + " " + last_name + " is " + str(age) + " years old and was born in " + city + ".")
"""
6-2 喜欢的数字 :使用一个字典来存储一些人喜欢的数字。请想出 5 个人的名字,并将这些名字用作字典中的键;
想出每个人喜欢的一个数字,并将这些数字作为值存储在字典中。
打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。
"""
favorite_num = {'louie': '7', 'link': '11', 'park': '23', 'tommy': '19', 'ann': '21'}
print("Louie favorite number is " + favorite_num['louie'])
print("link favorite number is " + favorite_num['link'])
print("Park favorite number is " + favorite_num['park'])
print("Tommy favorite number is " + favorite_num['tommy'])
print("Ann favorite number is " + favorite_num['ann'])
"""
6-3 词汇表 : Python 字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。
想出你在前面学过的 5 个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。
以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,
再打印词汇的含义;也可在一行打印词汇,再使用换行符( \n )插入一个空行,
然后在下一行以缩进的方式打印词汇的含义。
"""
vocabulary = {'php': '世界上最好的语言', 'python': '最简洁的语言',
'java': '世界上用的最广的语言', 'sql': '独一无二的数据库语言'}
print("php语言: \n" + vocabulary['php'])
print("python语言: \n" + vocabulary['python'])
print("javaP语言: \n" + vocabulary['java'])
print("sql语言: \n" + vocabulary['sql'])
"""
6-4 词汇表 2 :既然你知道了如何遍历字典,现在请整理你为完成练习 6-3 而编写的代码,将其中的一系列
print 语句替换为一个遍历字典中的键和值的循环。确定该循环正确无误后,
再在词汇表中添加 5 个 Python 术语。当你再次运行这个程序时,这些新术语及其含义将自动包含在输出中。
"""
vocabulary = {'php': '世界上最好的语言', 'python': '最简洁的语言',
'java': '世界上用的最广的语言', 'sql': '独一无二的数据库语言'}
for language, info in vocabulary.items():
print(language + ":\n" + info)
"""
6-5 河流 :创建一个字典,在其中存储三条大河流及其流经的国家。其中一个键 — 值对可能是 'nile': 'egypt' 。
使用循环为每条河流打印一条消息,如 “The Nile runs through Egypt.” 。
使用循环将该字典中每条河流的名字都打印出来。
使用循环将该字典包含的每个国家的名字都打印出来。
"""
rivers = {'nile': 'egypt', 'amazon': 'Brazil ', 'Yangtze': 'china'}
for river, country in rivers.items():
print("The " + river.title() + " runs through " + country.title())
"""
6-6 调查 :在 6.3.1 节编写的程序 favorite_languages.py 中执行以下操作。
创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中。
遍历这个人员名单,对于已参与调查的人,打印一条消息表示感谢。对于还未参与调查的人,打印一条消息邀请他参与调查。
"""
favorite_languages = {'jen': 'python', 'sarah': 'c',
'edward': 'ruby', 'phil': 'python'}
for name, language in favorite_languages.items():
print(name.title() + "'s favorite language is " + language.title() + ".")
survey_list = ['jen', 'link', 'sarah', 'lisa']
for investigated in survey_list:
if investigated in favorite_languages:
print(investigated + ", Thank you for your cooperation.")
else:
print(investigated + ", Could you do me a favor?")
"""
6-7 人 :在为完成练习 6-1 而编写的程序中,再创建两个表示人的字典,然后将这三个字典都存储
在一个名为 people 的列表中。遍历这个列表,将其中每个人的所有信息都打印出来。
"""
jams = {'first_name': 'leboron', 'last_name': 'jams', 'age': 34, 'city': 'akron'}
wade = {'first_name': 'dwayne', 'last_name': 'wade', 'age': 34, 'city': 'miami'}
bosh = {'first_name': 'cris', 'last_name': 'bosh', 'age': 32, 'city': 'washington'}
peoples = [jams, wade, bosh]
for people in peoples:
print(people)
"""
6-8 宠物 :创建多个字典,对于每个字典,都使用一个宠物的名称来给它命名;在每个字典中,
包含宠物的类型及其主人的名字。将这些字典存储在一个名为 pets的列表中,
再遍历该列表,并将宠物的所有信息都打印出来。
"""
miaomiao_cat = {'name': 'miaomiao_cat', 'owner': 'sarah'}
haha_dog = {'name': 'haha_dog', 'owner': 'link'}
pink_pig = {'name': 'pink_pig', 'owner': 'lisa'}
pets = [miaomiao_cat, haha_dog, pink_pig]
for pet in pets:
print("The owner of the " + pet['name'] + " is " + pet['owner'])
"""
6-9 喜欢的地方 :创建一个名为 favorite_places 的字典。在这个字典中,将三个人的名字用作键;
对于其中的每个人,都存储他喜欢的 1~3 个地方。为让这个练习更有趣些,
可让一些朋友指出他们喜欢的几个地方。遍历这个字典,并将其中每个人的名字及其喜欢的地方打印出来。
"""
favorite_places = {'jams': {'NewYork', 'Miami', 'Aklon'},
'wade': {'Miami', 'Aklun'},
'bosh': {'toronto', 'Miami'}
}
for name, places in favorite_places.items():
print(name.title() + " favorite places:")
for place in places:
print(place)
"""
6-10 喜欢的数字 :修改为完成练习 6-2 而编写的程序,
让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来。
"""
favorite_nums = {'louie': {'7', '8', '9'},
'link': {'11', '12', '13'},
'park': {'23', '24'},
'tommy': {'19', '20'},
'ann': {'21', '22', '23'}
}
for name, nums in favorite_nums.items():
print(name.title() + " favorite number is:")
for num in nums:
print(num)
"""
6-11 城市 :创建一个名为 cities 的字典,其中将三个城市名用作键;对于每座城市,都创建一个字典,
并在其中包含该城市所属的国家、人口约数以及一个有关该城市的事实。在表示每座城市的字典中,
应包含 country 、 population 和 fact 等键。将每座城市的名字以及有关它们的信息都打印出来。
"""
cities = {'miami': {'country': 'the USA', 'population': '30000000', 'fact': 'very good'},
'hangzhou': {'country': 'china', 'population': '20000000', 'fact': 'prety good'},
'longdon': {'country': 'the UK', 'population': '400000000', 'fact': 'very very good'}
}
for city_name, info in cities.items():
print(city_name.title() + " is belong to " + info['country'])
print(city_name.title() + " has an estimated population of " + info['population'])
print(city_name.title() + " is " + info['fact'] + "!~")