【Week3.2】第六章练习题

这一章新学习了关于字典的新知识点。遇到的问题如下:

6-1:容易把字典中的冒号写成等号,容易忘记逗号;
6-2:加上了字典中的循环,但是好像第二种方式遇到了问题;当同时对键值进行遍历的时候,出现了“too many values to unpack”这个报错,
经过查询解释如下:原因是字典这个是一个迭代器对象,参考官方文档找到下列说明,字典只支持Key的遍历,,如果想对key,value,则可以使用items()方法。 
6-3:即使遍历字典的时候,键-值对的返回顺序也与存储顺序不同,Python不关心键-值对的存储顺序,而只跟踪键值之间的关联关系;
6-4:在不需要遍历字典中的值是,可以使用方法keys();也可以不使用任何方法,因为遍历字典时,会默认遍历所有的键;使用方法keys(),其实返回的是一个包含所有键的列表;
如果感兴趣的只是值,可以用方法values();
6-7:总是忘记每个字典元素后面的逗号
6-8:注意在列表中存储字典的时候,不需要加上引号,
遇到了错误:" no encoding declared",解释是:python的默认编码文件是用的ASCII码,将文件存成了UTF-8,编译就可以通过。或在在py文件开头(必须是第一行)加入:#coding=utf-8 / # -*- coding:utf-8 -*- 

6-9:在字典的值中用列表表示

【题目】


#6-1
person_info = {
	'first_name': 'Alice',
	'last_name': 'Xu',
	'age': 21,
	'city': 'Guangzhou',
	}
print(person_info)


#6-2: circle of  dictionary
liked_numbers = {
	'jack': 1,
	'alice': 2,
	'nancy': 3,
	'john': 4,
	'mike': 5,
	}
for key in liked_numbers:
	print(key.title() + ", is " +
	str(liked_numbers[key]) +
	" you favorite number")

for key, value in liked_numbers.items():
	print(key.title() + ", is " +
	str(value) +
	" you favorite number")


#6-3
d = {
	'print:' : 'show th message',
	'list:' : 'storage elements', 
	'dictionary:' : 'storage key and value'}
for key, value in d.items():
    print(key + "\n" + value)




#6-5
rivers = {
	'riverA': 'countryA',
	'riverB': 'countryB',
	'riverC': 'countryC',
}
for river, country in rivers.items():
	print('The ' + river.title() +
	 ' runs through ' + country.title() + '.')

for river in rivers.keys():
	print(river)

for country in rivers.values():
	print(country)


#6-6:
favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'phil': 'python',
}
name_list = ['jen', 'sarah', 'phil', 'mike', 'tiffany']
for name in name_list:
	if name in favorite_languages.keys():
		print(name.title() + ', thanks for your help.')
	else:
		print(name.title() + ', welcome to join our investigation.')




#6-7
people = {
	'person1': {
		'first_name': 'Alice',
		'last_name': 'Xu',
		'age': 21,
		'city': 'Guangzhou',
	},
	'person2': {
		'first_name': 'Jack',
		'last_name': 'Hu',
		'age': 20,
		'city': 'Henan',
	},
	'person3': {
		'first_name': 'Sid',
		'last_name': 'Zhou',
		'age': 22,
		'city': 'Hubei',
	}
}

for name, people_info in people.items():
	print('\nPeople: ' + name)
	full_name = people_info['first_name'] + ' ' + people_info['last_name']
	print('\tFull name: ' + full_name.title())
	print('\tAge: ' + str(people_info['age']))
	print('\tCity: ' + people_info['city'])


#6-8
kiki = {'varies': 'dog', 'master_name': 'Lucy'}
harro = {'varies': 'cat', 'master_name':'Simon'}
dudu = {'varies': 'dog', 'master_name': 'zhouzhou'}
pets = [kiki, harro, dudu]
for pet in pets:
	print(pet)


#6-9
favorite_places = {
	'Jack': ['A', 'B', 'C'],
	'Tiffany': ['D', 'E'],
	'Lucy': ['F', 'G', 'H'],
}
for name, places in favorite_places.items():
	print('Name: ' + name)
	print('Pleces: ')
	for place in places:
		print('\t' + place)

猜你喜欢

转载自blog.csdn.net/yujing997/article/details/79824034