Python学习之路——《python编程,从入门到实践》第六章习题

习题 6-1
人 :使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键first_name 、last_name 、age 和city 。将存储在该字典中的每项信息都打印出来。

#创建字典
person_dict = {'first_name': 'Tony', 'last_name': 'Stark',
		'age': '50', 'city': 'New York'
		}
#输出信息
for key in person_dict.keys():
	print(key, person_dict[key])

运行结果:
Python学习之路——《python编程,从入门到实践》第六章习题_第1张图片

习题 6-2
喜欢的数字 :使用一个字典来存储一些人喜欢的数字。请想出5个人的名字,并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。

#创建字典
favorite_num = {'Tony': 6, 'Alice': 0, 
		 'Black': 7, 'John': 8, 'Bob': 1
		 }
#打印数据,注意数据类型
for key, value in favorite_num.items():
	print(key + "'s favotite number is " + str(value) + ".")

运行结果:
Python学习之路——《python编程,从入门到实践》第六章习题_第2张图片

习题 6-3
词汇表 :Python字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。
想出你在前面学过的词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。
以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;也可在一行打印词汇,再使用换行符(\n )插
入一个空行,然后在下一行以缩进的方式打印词汇的含义。

#构建词汇表
glossary = {'list': 'one of the basic data',
	     'string': 'character string structure',
	     'loop': 'for/while'
	     }
#打印
for key, value in glossary.items():
	print(key.title() + ':\n' + '\t' + value)
#添加术语
glossary['int'] = 'integer data structure'
glossary['slice'] = 'part of list'
print('\n', glossary)

运行结果:
Python学习之路——《python编程,从入门到实践》第六章习题_第3张图片

习题6-4 同上
词汇表2 :既然你知道了如何遍历字典,现在请整理你为完成练习

习题 6-5
河流 :创建一个字典,在其中存储三条大河流及其流经的国家。其中一个键—值对可能是’nile’: ‘egypt’ 。使用循环为每条河流打印一条消息,如“The Nileruns throughEgypt.”。使用循环将该字典中每条河流的名字都打印出来。使用循环将该字典包含的每个国家的名字都打印出来。

#创建字典
rivers = {'nile': 'egypt', 'amazon river': 'brazil', 
	   'huanghe': 'china'
	   }
#遍历
for key, value in rivers.items():
	print("The " + key.title() + " runs through " + value.title())

运行结果:
Python学习之路——《python编程,从入门到实践》第六章习题_第4张图片

习题 6-6
调查 :在6.3.1节编写的程序favorite_languages.py中执行以下操作。创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中。遍历这个人员名单,对于已参与调查的人,打印一条消息表示感谢。对于还未参与调查的人,打印一条消息邀请他参与调查。

#构建字典
favorite_languages = {'jen': 'python', 'sarah': 'c', 'edward': 			'ruby', 'phil': 'python',
			}
#对每个人表示感谢
for key in favorite_languages.keys():
	print(key.title() + ' thank you very much for you')
		
print('\nEveryone else is welcome')

运行结果:
Python学习之路——《python编程,从入门到实践》第六章习题_第5张图片
习题 6-7:
人 :在为完成练习6-1而编写的程序中,再创建两个表示人的字典,然后将这三个字典都存储在一个名为people 的列表中。遍历这个列表,将其中每个人的所有信息都打印出来。

#构建三个字典
person_dict1 = {'first_name': 'Tony', 'last_name': 'Stark',
                 'age': '50', 'city': 'New York'
                 }
person_dict2 = {'first_name': 'Steve', 'last_name': 'Rogers',
                 'age': '102', 'city': 'Brooklyn'
                 }
person_dict3 = {'first_name': 'Natasha', 'last_name': 'Romanoff',
                 'age': '92', 'city': 'New York'
                 }
                 
#构建列表
people = [person_dict1, person_dict2, person_dict3] 
#遍历列表
for person in people:
	for key, value in person.items():
		print(key,value)

运行结果:
Python学习之路——《python编程,从入门到实践》第六章习题_第6张图片

习题 6-8
宠物 :创建多个字典,对于每个字典,都使用一个宠物的名称来给它命名;在每个字典中,包含宠物的类型及其主人的名字。将这些字典存储在一个名为pets 的列表中,再遍历该列表,并将宠物的所有信息都打印出来。

同习题 6-7

习题 6-9
喜欢的地方 :创建一个名为favorite_places 的字典。在这个字典中,将三个人的名字用作键;对于其中的每个人,都存储他喜欢的1~3个地方。为让这个练习更有趣些,可让一些朋友指出他们喜欢的几个地方。遍历这个字典,并将其中每个人的名字及其喜欢的地方打印出来

#构建字典,镶嵌列表
favorite_places = {'Tony': ['china', 'america', 'egypt'], 
                    'Alice': ['england', 'wales', 'france'], 
                    'Andy': ['italy', 'australia', 'canada'], 
                    }
#遍历
for key in favorite_places.keys():
	print(key + "'s favorite place:\n")
	for place in favorite_places[key]:
		print(place.title(), '\n')

运行结果:
Python学习之路——《python编程,从入门到实践》第六章习题_第7张图片

习题 6-10
喜欢的数字 :修改为完成练习6-2而编写的程序,让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来。

同 习题 6-9

习题 6-11
城市 :创建一个名为cities 的字典,其中将三个城市名用作键;对于每座城市,都创建一个字典,并在其中包含该城市所属的国家、人口约数以及一个有关该城市的事实。在表示每座城市的字典中,应包含country 、population 和fact 等键。将每座城市的名字以及有关它们的信息都打印出来。

#构建字典,镶嵌字典
cities = {'Hong Kong': {'country': 'china', 'population': '7.5million', 'fact': 'good'},
	  'London': {'country': 'english', 'population': '8.9million', 'fact': 'good'},
	  'Washington DC': {'country': 'america', 'population': '0.7million', 'fact': 'no good'}
	  }
#遍历
for key1 in cities.keys():
	print(key1 + ":")
	for key2, value in cities[key1].items():
		print("\t" + key2.title() + ":\n\t" + value.title())

运行结果:
Python学习之路——《python编程,从入门到实践》第六章习题_第8张图片

你可能感兴趣的:(python入门,python)