admin管理员组文章数量:1794759
Python编程:从入门到实践——字典(第六章+课后答案)
对应书目:Python编程:从入门到实践
字典(第六章)
要理解新的编程概念,最佳的方法是尝试在程序中使用它们
动手试一试
6-1 人:使用一个字典来存储一个熟人的信,包括名、姓、年龄和居住的城市。该字典应包含键 first_name、 last_name、 age 和 city。将存储在该字典中的每项信都打印出来
people = { 'first_name':'aa', 'last_name':'bb', 'age':18, 'city':'beijing' } print(people['first_name'].title()+people['last_name']+" age:"+str(people['age'])+" from:"+people['city'])6-2 喜欢的数字:使用一个字典来存储一些人喜欢的数字。请想出 5 个人的名字,并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的
favorite = {'a':'3','b':'5','c':'9','d':'27','e':'78'} print("a's favorite number is " + favorite['a']) print("b's favorite number is " + favorite['b']) print("c's favorite number is " + favorite['c']) print("d's favorite number is " + favorite['d']) print("e's favorite number is " + favorite['e'])6-3 词汇表: Python 字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表 想出你在前面学过的 5 个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中 以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;也可在一行打印词汇,再使用换行符( \\n)插入一个空行,然后在下一行以缩进的方式打印词汇的含义
words = {'programming':'Chinese abbreviation for programming', 'python':'Is an interpretive, object - oriented, dynamic data - type high - level programming language', } print("programming is " + words['programming']) print("python is " + words['python'])动手试一试
6-4 词汇表 2:既然你知道了如何遍历字典,现在请整理你为完成练习 6-3 而编写的代码,将其中的一系列 print 语句替换为一个遍历字典中的键和值的循环。确定该循环正确无误后,再在词汇表中添加 5 个 Python 术语。当你再次运行这个程序时,这些新术语及其含义将自动包含在输出中
words = {'programming':'Chinese abbreviation for programming', 'python':'Is an interpretive, object - oriented, dynamic data - type high - level programming language', } for key,value in words.items(): print(key + " is " + value)6-5 河流:创建一个字典,在其中存储三条大河流及其流经的国家。其中一个键—值对可能是'nile': 'egypt' 使用循环为每条河流打印一条消,如“The Nile runs through Egypt.” 使用循环将该字典中每条河流的名字都打印出来 使用循环将该字典包含的每个国家的名字都打印出来
rivers = {'Yellow River' : 'China', 'nile' : 'egypt', 'Yangtze river' : 'China' } for key,value in rivers.items(): print("The "+ key + " runs though " + value)6-6 调查:在 6.3.1 节编写的程序 favorite_languages.py 中执行以下操作 创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中 遍历这个人员名单,对于已参与调查的人,打印一条消表示感谢。对于还未参与调查的人,打印一条消邀请他参与调查
favorite_languages = {'jen':'python', 'sarsh':'c', 'edward':'ruby', 'phil':'python'} for name,language in favorite_languages.items(): print(name.title() + "is favorite_language is " + language.title() + ".") if 'tom' not in favorite_languages.keys(): print("where are you! " + "tom".title())动手试一试
6-7 人:在为完成练习 6-1 而编写的程序中,再创建两个表示人的字典,然后将这三个字典都存储在一个名为 people 的列表中。遍历这个列表,将其中每个人的所有信都打印出来
people = { 'people1' : { 'first_name':'aa', 'last_name':'bb', 'age':18, 'city':'beijing' }, 'people2' : { 'first_name': 'cc', 'last_name': 'dd', 'age': 78, 'city': 'shanghai' }, 'people3' : { 'first_name': 'ee', 'last_name': 'ff', 'age': 37, 'city': 'guangzhou' }, } for username,user_info in people.items(): print("name " + username) message = user_info['first_name']+" "+user_info['last_name']+" "+str(user_info['age'])+" "+user_info['city'] print(message)6-8 宠物:创建多个字典,对于每个字典,都使用一个宠物的名称来给它命名;在每个字典中,包含宠物的类型及其主人的名字。将这些字典存储在一个名为 pets 的列表中,再遍历该列表,并将宠物的所有信都打印出来
pets = { 'tom' : { 'first_name':'aa', 'last_name':'bb', 'age':18, 'city':'beijing' }, 'jerry' : { 'first_name': 'cc', 'last_name': 'dd', 'age': 78, 'city': 'shanghai' }, } for username,user_infos in pets.items(): print("name " + username) for user_info in user_infos.values(): print(user_info)6-9 喜欢的地方:创建一个名为 favorite_places 的字典。在这个字典中,将三个人的名字用作键;对于其中的每个人,都存储他喜欢的 1~3 个地方。为让这个练习更有趣些,可让一些朋友指出他们喜欢的几个地方。遍历这个字典,并将其中每个人的名字及其喜欢的地方打印出来
favorite_places = { 'tom' : { 'city':'beijing', 'city1':'shanghai' }, 'jerry' : { 'city':'yunnan', 'city1':'xiamen', 'city2':'guangxi' }, } for username,user_infos in favorite_places.items(): print("name " + username) for user_info in user_infos.values(): print(user_info)6-10 喜欢的数字:修改为完成练习 6-2 而编写的程序,让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来
favorite_nums = { 'tom' : { 'num':'313', 'num1':'231' }, 'jerry' : { 'num':'44', 'num1':'2', 'num2':'324', 'num3':'890' }, } for username,user_infos in favorite_nums.items(): print("name " + username) for user_info in user_infos.values(): print(user_info)6-11 城市:创建一个名为 cities 的字典,其中将三个城市名用作键;对于每座城市,都创建一个字典,并在其中包含该城市所属的国家、人口约数以及一个有关该城市的事实。在表示每座城市的字典中,应包含 country、 population 和 fact 等键。将每座城市的名字以及有关它们的信都打印出来
cities = { 'shanghai' : { 'country':'China', 'population':'78271', 'fact':'beautiful' }, 'xiamen' : { 'country':'China', 'population':'7432423', 'fact':'beautiful!' }, } for username,user_infos in cities.items(): print("name " + username) for user_info in user_infos.values(): print(user_info)6-12 扩展:本章的示例足够复杂,可以以很多方式进行扩展了。请对本章的一个示例进行扩展:添加键和值、调整程序要解决的问题或改进输出的格式
版权声明:本文标题:Python编程:从入门到实践——字典(第六章+课后答案) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686515085a76288.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论