6-1 人 : 使用一个字典来存储一个熟人的信息, 包括名、 姓、 年龄和居住的城市。该字典应包含键first_name 、 last_name 、 age 和city 。 将存储在该字典中的每项信息都打印出来。
friend = {'first_name':'Penny','last_name':'Guo','age':24,'city':'Jiangmen'} print(friend['first_name']) print(friend['last_name']) print(friend['age']) print(friend['city'])6-2 喜欢的数字 : 使用一个字典来存储一些人喜欢的数字。 请想出5个人的名字, 并将这些名字用作字典中的键;想出每个人喜欢的一个数字, 并将这些数字作为值存储在字典中。 打印每个人的名字和喜欢的数字。 为让这个程序更有趣, 通过询问朋友确保数据是真实的。
friend = {'Shuan':7,'Oshino':1,'meme':5} print("Shuan's favorite num is " + str(friend['Shuan']) + ".") print("Oshino's favorite num is " + str(friend['Oshino']) + ".") print("meme's favorite num is " + str(friend['meme']) + ".")6-3 词汇表 : Python字典可用于模拟现实生活中的字典, 但为避免混淆, 我们将后者称为词汇表。想出你在前面学过的5个编程词汇, 将它们用作词汇表中的键, 并将它们的含义作为值存储在词汇表中。以整洁的方式打印每个词汇及其含义。 为此, 你可以先打印词汇, 在它后面加上一个冒号, 再打印词汇的含义; 也可在一行打印词汇,再使用换行符(\n ) 插 入一个空行, 然后在下一行以缩进的方式打印词汇的含义。
vocabulary= { 'P':'Python', 'J':'Java', 'C':'C', 'H':'Html', 'V':'Visual Basic' } print("P:"+vocabulary['P']) print("J:"+vocabulary['J']) print("C:"+vocabulary['C']) print("H:"+vocabulary['H']) print("V:"+vocabulary['V'])6-4 词汇表2 : 既然你知道了如何遍历字典, 现在请整理你为完成练习 6-3而编写的代码, 将其中的一系列print 语句替换为一个遍历字典中的键和值的循环。 确定该循环正确无误后, 再在词汇表中添加5个Python术语。 当你再次运行这个程序时, 这些新术语及其含义将自动包含在输出中。
vocabulary= { 'P':'Python', 'J':'Java', 'C':'C', 'H':'Html', 'V':'Visual Basic' } for key, value in vocabulary.items(): print(key,':',value) print('\n') vocabulary['def'] = 'define' vocabulary['elif'] = 'lese if' vocabulary['f'] = 'float' vocabulary['s'] = 'srt' vocabulary['e'] = 'exponential' for key, value in vocabulary.items(): print(key,':',value)6-5 河流 : 创建一个字典, 在其中存储三条大河流及其流经的国家。 其中一个键—值对可能是’ nile’ : ’ egypt’ 。 使用循环为每条河流打印一条消息, 如“The Nile runs through Egypt.”。 使用循环将该字典中每条河流的名字都打印出来。 使用循环将该字典包含的每个国家的名字都打印出来。
rivers = { 'nile':'egypt', 'amazon':'brazil', 'changjiang':'china' } for river,country in rivers.items(): print('The ' + river.title() + ' runs through ' + country.title()) #遍历键 for river in rivers: print(river.title()) #遍历值 for country in rivers.values(): print(country.title())6-6 调查 : 在6.3.1节编写的程序favorite_languages.py中执行以下操作。 创建一个应该会接受调查的人员名单, 其中有些人已包含在字典中, 而其他人未包含在字典中。 遍历这个人员名单, 对于已参与调查的人, 打印一条消息表示感谢。 对于还未参与调查的人, 打印一条消息邀请他参与调查。
favorite_languages = { 'jen':'python', 'sarah':'c', 'edward':'ruby', 'phil':'python' } friends = ['shuan','penny','tim','edward','phil'] for name in friends: if name in favorite_languages: print ('THX,' + name) if name not in favorite_languages: print(name.title() + ',pls take our poll.')6-7 人 : 在为完成练习 6-1而编写的程序中, 再创建两个表示人的字典, 然后将这三个字典都存储在一个名为people 的列表中。 遍历这个列表, 将其中每个人的所有信息都打印出来。
friend_0 = { 'first_name':'Penny', 'last_name':'Guo', 'age':24, 'city':'Jiangmen' } friend_1 = { 'first_name':'Shuan', 'last_name':'Lu', 'age':26, 'city':'Jiangmen' } friend_2 = { 'first_name':'Meme', 'last_name':'Lu', 'age':1, 'city':'Jiangmen' } people = [friend_0,friend_1,friend_2] for family in people: print(family)6-8 宠物 : 创建多个字典, 对于每个字典, 都使用一个宠物的名称来给它命名; 在每个字典中, 包含宠物的类型及其主人的名字。 将这些字典存储在一个名为pets的列表中, 再遍历该列表, 并将宠物的所有信息都打印出来。
dingdang = { 'type':'cat', 'master':'Shaun' } Murphy= { 'type':'cat', 'master':'Qihei' } migua = { 'type':'cat', 'master':'Huiyin' } pets = [dingdang,Murphy,migua] for pet in pets: print(pet)6-9 喜欢的地方 : 创建一个名为favorite_places 的字典。 在这个字典中, 将三个人的名字用作键; 对于其中的每个人, 都存储他喜欢的1~3个地方。 为让这个练习更有趣些, 可让一些朋友指出他们喜欢的几个地方。 遍历这个字典, 并将其中每个人的名字及其喜欢的地方打印出来。
favorite_places = { 'Shaun':['Qingdao','Xiamen','Chongqing'], 'Penny':['Changsha','Chongqing'], 'Tim':['Shanghai'] } for people,country in favorite_places.items(): print(people + ":") for place in country: print(place)6-10 喜欢的数字 : 修改为完成练习 6-2而编写的程序, 让每个人都可以有多个喜欢的数字, 然后将每个人的名字及其喜欢的数字打印出来。
friend = { 'Shuan':[1,5], 'Oshino':[10,30], 'meme':[7,21,27] } for name,nums in friend.items(): print(name + "'s favorite nums are:") for num in nums: print(num)6-11 城市 : 创建一个名为cities 的字典, 其中将三个城市名用作键; 对于每座城市, 都创建一个字典, 并在其中包含该城市所属的国家、 人口约数以及一个有关该 城市的事实。 在表示每座城市的字典中, 应包含country 、 population 和fact 等键。 将每座城市的名字以及有关它们的信息都打印出来。
cities = { 'Jiangmen':{ 'country':'China', 'population':'4 million', 'fact':'Overseas Chinese hometown' }, 'Tokyo':{ 'country':'Japan', 'population':'42 million', 'fact':'The most populous city' }, 'Guangzhou':{ 'country':'China', 'population':'15 million', 'fact':'Capital of guangdong' } } for citie,info in cities.items(): print("Citie name:"+citie) for key,value in info.items(): print(key,':',value) #遍历字典的for循环: for k,v in user_0.items() #citie对标城市名 info对标城市的字典 #遍历中可以再遍历