Python编程从入门到实践 第六章:字典 练习答案记录

Python编程从入门到实践 第六章:字典 练习答案记录

练习题导航

6.1 一个简单的字典

6.2 使用字典

6.2.1 访问字典中的值

6.2.2 添加键值对

6.2.3 先创建一个空字典

6.2.4 修改字典中的值

6.2.5 删除键值对

6.2.6 由类似对象组成的字典

6.2.7 使用get()来访问值

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

yuan_lin={
    'name':'yuan lin',
    'old':24,
    'thinks':'happy',
    'friend':'zhao hailin',
    'urban':'Bei jing'
    }
print(yuan_lin['name'])
print(yuan_lin['old'])
print(yuan_lin['thinks'])
print(yuan_lin['friend'])
print(yuan_lin['urban'])

在这里插入图片描述

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

like_digit={
    'yuan':6,
    'liu':66,
    'zhao':0,
    'guan':1,
    'wang':10,
    'hu':100
    }
print(like_digit['yuan'])
print(like_digit['liu'])
print(like_digit['zhao'])
print(like_digit['guan'])
print(like_digit['wang'])
print(like_digit['hu'])

在这里插入图片描述

练习6-3 词汇表 : Python字典可用于模拟现实生活中的字典, 但为避免混淆, 我们将后者称为词汇表。

想出你在前面学过的5个编程词汇, 将它们用作词汇表中的键, 并将它们的含义作为值存储在词汇表中。 以整洁的方式打印每个词汇及其含义。 为此,
你可以先打印词汇, 在它后面加上一个冒号, 再打印词汇的含义; 也可在一行打印词汇, 再使用换行符(\n ) 插入一个空行,
然后在下一行以缩进的方式打印词汇的含义。

良心老铁链接导引:【《Python编程: 从入门到实践》习题答案–第六章:<字典>】

dics = {
    'list':'列表',
    'var':'变量',
    'int':'整型',
    'boolean':'布尔',
    'str':'字符串'
    }
print('dics[\'list\']'+':' + dics['list'])
print('dics[\'var\']'+':' + dics['var'])
print('dics[\'int\']'+':' + dics['int'])
print('dics[\'boolean\']'+':' + dics['boolean'])
print('dics[\'str\']'+':' + dics['str'])

在这里插入图片描述

6.3 遍历字典

6.3.1 遍历所有键值对

6.3.2 遍历字典中的所有键

6.3.3 按特定顺序遍历字典中的所有键

6.2.4 遍历字典中的所有值

练习6-4 词汇表2 : 既然你知道了如何遍历字典, 现在请整理你为完成练习6-3而编写的代码,将其中的一系列print 语句替换为一个遍历字典中的键和值的循环。 确定该循环正确无误后,再在词汇表中添加5个Python术语。 当你再次运行这个程序时, 这些新术语及其含义将自动包含在输出中。

dics = {
    'list':'列表',
    'var':'变量',
    'int':'整型',
    'boolean':'布尔',
    'str':'字符串'
    }
for key in dics.keys():
    print(key)
for value in dics.values():
    print(value)
dics['a']='b'
print('\n')
for key in dics.keys():
    print(key)
for value in dics.values():
    print(value)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

练习6-5 河流 : 创建一个字典, 在其中存储三条大河流及其流经的国家。 其中一个键—值对可能是’nile’: ‘egypt’ 。

使用循环为每条河流打印一条消息, 如“The Nile runs through Egypt.”。
使用循环将该字典中每条河流的名字都打印出来。
使用循环将该字典包含的每个国家的名字都打印出来。

water={
    'a':'aa',
    'b':'bb',
    'c':'cc'
    }
for w,n in water.items():
    print(f"The {w.title()} runs through {n.title()}.")
for w in water.keys():
    print(w)
for w in water.values():
    print(w)

在这里插入图片描述

练习6-6 调查 : 在6.3.1节编写的程序favorite_languages.py中执行以下操作。

创建一个应该会接受调查的人员名单, 其中有些人已包含在字典中, 而其他人未包含在字典中。 遍历这个人员名单, 对于已参与调查的人,
打印一条消息表示感谢。 对于还未参与调查的人, 打印一条消息邀请他参与调查。

peoples={
    'a':'aa',
    'b':'bb',
    'c':'cc'
    }
people=['a','c','d']
for p in peoples:
    if p in people:
        print("thanks "+p)
    else:
        print("I will invite "+p)

在这里插入图片描述

6.4 嵌套

6.4.1 字典列表

6.4.2 在字典中存储列表

6.4.3 在字典中存储字典

练习6-7 人 : 在为完成练习6-1而编写的程序中, 再创建两个表示人的字典, 然后将这三个字典都存储在一个名为people 的列表中。遍历这个列表, 将其中每个人的所有信息都打印出来。

yuan_lin={
    'name':'yuan lin',
    'old':24,
    'thinks':'happy',
    'friend':'zhao hailin',
    'urban':'Bei jing'
    }
zhao_hai_lin={
    'name':'zhao hai lin',
    'old':24,
    'thinks':'happy',
    'friend':'yuan lin',
    'urban':'Bei jing'
    }
wang_jin={
    'name':'wang jin',
    'old':24,
    'thinks':'happy',
    'friend':'wang jin',
    'urban':'Bei jing'
    }
peoples=[yuan_lin,zhao_hai_lin,wang_jin]
for people in peoples:
    print('\n')
    for n,m in people.items():
        print(f"{n}:{m}")

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

与上一题差不多,略。

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

favorite_places={
    'yuan_lin':{
        'name':'yuan lin',
        'old':24,
        'thinks':'happy',
        'friend':'zhao hailin',
        'urban':'Bei jing',
        },

    'zhao_hai_lin':{
        'name':'zhao hai lin',
        'old':24,
        'thinks':'happy',
        'friend':'yuan lin',
        'urban':'Bei jing',
        },

    'wang_jin':{
        'name':'wang jin',
        'old':24,
        'thinks':'happy',
        'friend':'wang jin',
        'urban':'Bei jing',
        },
    }
for peoples,lis in favorite_places.items():
    print(peoples)
    for n,m in lis.items():
        print(f"{n}:{m}")
    print('\n')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

略,与6-9类似

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

略,与6-9类似

练习6-12 扩展 : 本章的示例足够复杂, 可以以很多方式进行扩展了。 请对本章的一个示例进行扩展: 添加键和值、 调整程序要解决的问题或改进输出的格式

6.5 小结

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Is_LiuYiZheng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值