第6章-字典-动手试一试

'''
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年)
地位:美国第一大城市
''

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值