'''
6-1 人 :使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。
该字典应包含键first_name 、last_name 、age 和city 。
将存储在该字典中 的每项信息都打印出来
'''
people ={
'first_name':'李',
'last_name':'一',
'age':'22岁',
'city':'重庆',
}
print(people['first_name'])
print(people['last_name'])
print(people['age'])
print(people['city'])
'''
李
一
22岁
重庆
'''
'''
6-2 喜欢的数字 :使用一个字典来存储一些人喜欢的数字。请想出5个人的名字,
并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存
储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。
'''
people ={
'张三':23,
'李四':43,
'王五':46,
'赵六':645,
'钱七':999,
}
print(people['张三'])
print(people['李四'])
print(people['王五'])
print(people['赵六'])
print(people['钱七'])
'''
23
43
46
645
999
'''
'''
6-3 词汇表
Python字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。
想出你在前面学过的5个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。
以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;也可在一行打印词汇,再使用换行符(\n )插
入一个空行,然后在下一行以缩进的方式打印词汇的含义。
'''
glossary = {
'string': '字符串',
'var': '变量',
'list': '列表',
'int': '整型',
'==': "等于符号",
}
word = 'string'
print("\n" + word.title() + ": " + glossary[word])
word = 'var'
print("\n" + word.title() + ": " + glossary[word])
word = 'list'
print("\n" + word.title() + ": " + glossary[word])
word = 'int'
print("\n" + word.title() + ": " + glossary[word])
word = '=='
print("\n" + word.title() + ": " + glossary[word])
'''
String: 字符串
Var: 变量
List: 列表
Int: 整型
==: 等于符号
'''
'''
6-4 词汇表2 :既然你知道了如何遍历字典,
现在请整理你为完成练习6-3而编写的代码,将其中的一系列print 语句替换为一个遍历字典中的键和值的循环。
确定该 循环正确无误后,再在词汇表中添加5个Python术语。
当你再次运行这个程序时,这些新术语及其含义将自动包含在输出中。
'''
glossary = {
'string': '字符串',
'var': '变量',
'list': '列表',
'int': '整型',
'==': "等于符号",
}
for key,value in glossary.items():
print("\n" + key.title() + ": " + value.title())
'''
String: 字符串
Var: 变量
List: 列表
Int: 整型
==: 等于符号
'''
'''
6-5 河流 :创建一个字典,在其中存储三条大河流及其流经的国家。
其中一个键—值对可能是'nile': 'egypt' 。
使用循环为每条河流打印一条消息,如“The Nile runs through Egypt.”。
使用循环将该字典中每条河流的名字都打印出来。
使用循环将该字典包含的每个国家的名字都打印出来。
'''
rivers = {
'尼罗河': '埃及',
'亚马逊河': '巴西',
'长江': '中国',
}
for k,v in rivers.items():
print(k+'流经'+v)
print('\n本数据包括以下河流:')
for river in rivers.keys():
print(river)
print('\n本数据包括以下国家:')
for river in rivers.values():
print(river)
'''
尼罗河流经埃及
亚马逊河流经巴西
长江流经中国
本数据包括以下河流:
尼罗河
亚马逊河
长江
本数据包括以下国家:
埃及
巴西
中国
'''
'''
6-6 调查 :在6.3.1节编写的程序favorite_languages.py中执行以下操作
创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中。
遍历这个人员名单,对于已参与调查的人,打印一条消息表示感谢。
对于还未参与调查的人,打印一条消息邀请他参与调查。
'''
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
people = ['jen','zhangsan','phil','lisi']
print('接受调查的人员名单:')
for r in people:
if r in favorite_languages.keys():
print('感谢'+r+'的配合')
else:
print('真诚的邀请'+r+'参与调查')
'''
接受调查的人员名单:
感谢jen的配合
真诚的邀请zhangsan参与调查
感谢phil的配合
真诚的邀请lisi参与调查
'''
'''
6-7 人 :在为完成练习6-1而编写的程序中,再创建两个表示人的字典,
然后将这三个字典都存储在一个名为people 的列表中。
遍历这个列表,将其中每个人的所有 信息都打印出来
'''
people = []
person ={
'first_name':'李',
'last_name':'已',
'age':'23岁',
'city':'重庆',
}
people.append(person)
person ={
'first_name':'李',
'last_name':'四',
'age':'29岁',
'city':'北京',
}
people.append(person)
person ={
'first_name':'李',
'last_name':'五',
'age':'27岁',
'city':'上海',
}
people.append(person)
for person in people:
name = person['first_name']+person['last_name']
age =person['age']
city = person['city']
print(name+' '+age+' '+city)
'''
李已 23岁 重庆
李四 29岁 北京
李五 27岁 上海
'''
'''
6-8 宠物 :创建多个字典,对于每个字典,都使用一个宠物的名称来给它命名;
在每个字典中,包含宠物的类型及其主人的名字。
将这些字典存储在一个名为pets 的列表中,再遍历该列表,并将宠物的所有信息都打印出来。
'''
pets =[]
pet ={
'type':'狗',
'master':'李一',
}
pets.append(pet)
pet ={
'type':'猫',
'master':'李二',
}
pets.append(pet)
pet ={
'type':'松鼠',
'master':'李三',
}
pets.append(pet)
for pet in pets:
type = pet['type']
master = pet['master']
print('宠物:'+type+' '+'主人:'+master)
'''
宠物:狗 主人:李一
宠物:猫 主人:李二
宠物:松鼠 主人:李三
'''
'''
6-9 喜欢地方 :创建一个名为favorite_places 的字典。
在这个字典中,将三个人的名字用作键;对于其中的每个人,都存储他喜欢的1~3个地方。
为让这个练习更有趣些,可让一些朋友指出他们喜欢的几个地方。
遍历这个字典,并将其中每个人的名字及其喜欢的地方打印出来。
'''
favorite_places = {
'李一':['上海','北京','成都'],
'李二':['珠海','海南','北京'],
'李三':['重庆','大连','成都'],
}
for k,v in favorite_places.items():
print('\n'+k+'喜欢的地方有:')
for place in v:
print('\t--'+place)
'''
李一喜欢的地方有:
--上海
--北京
--成都
李二喜欢的地方有:
--珠海
--海南
--北京
李三喜欢的地方有:
--重庆
--大连
--成都
'''
'''
6-10 喜欢的数字 :修改为完成练习6-2而编写的程序,
让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来。
'''
'''
6-2 喜欢的数字 :使用一个字典来存储一些人喜欢的数字。请想出5个人的名字,
并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存
储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。
'''
people ={
'张三':[23,213123,324,657,98778,2312,123234],
'李四':[43,12345,87765,2345,8765,324556768],
'王五':[46,1,2,4,5,6,7,8,9],
'赵六':[645,12,23,45,6,78,89,90,],
'钱七':[999,9,999,9999,2222,33333,444],
}
for k,v in people.items():
print('\n'+k+'喜欢的数字有:')
for value in v:
print('\t--'+str(value))
'''
张三喜欢的数字有:
--23
--213123
--324
--657
--98778
--2312
--123234
李四喜欢的数字有:
--43
--12345
--87765
--2345
--8765
--324556768
王五喜欢的数字有:
--46
--1
--2
--4
--5
--6
--7
--8
--9
赵六喜欢的数字有:
--645
--12
--23
--45
--6
--78
--89
--90
钱七喜欢的数字有:
--999
--9
--999
--9999
--2222
--33333
--444
'''
'''
6-11 城市 :创建一个名为cities 的字典,其中将三个城市名用作键;
对于每座城市,都创建一个字典,并在其中包含该城市所属的国家、人口约数以及一个有关该城市的事实。
在表示每座城市的字典中,应包含country 、population 和fact 等键。
将每座城市的名字以及有关它们的信息都打印出来。
'''
cities={
'重庆':{
'国家':'中国',
'人口':'3124.32万(2019年常住人口)',
'天气':'热',
},
'东京':{
'国家':'日本',
'人口':'1392 万(截至2019年10月)',
'地位':'日本首都',
},
'纽约':{
'国家':'美国',
'人口':'851万人(2017年)',
'地位':'美国第一大城市',
},
}
for k,v in cities.items():
print('\n城市:'+k)
for a,b in v.items():
print(a+':'+b)
'''
城市:重庆
国家:中国
人口:3124.32万(2019年常住人口)
天气:热
城市:东京
国家:日本
人口:1392 万(截至2019年10月)
地位:日本首都
城市:纽约
国家:美国
人口:851万人(2017年)
地位:美国第一大城市
''