第14课 字典与集合——用名字找东西课后练习--小学信息科技Python程序设计

资源下载
  1. 二一教育资源

第14课 字典与集合——用名字找东西课后练习--小学信息科技Python程序设计

资源简介

/ 让教学更有效 精品试卷 | 信息
第14课 课后练习
(答案版 · 教师用)
班级:____________ 姓名:____________ 得分:__________
一、填空(每空 3 分,共 24 分)
1.创建一个空字典,可以写成 d = ______。
2.字典中每一对数据由 ______________ 和 ______________ 组成,中间用冒号连接。
3.字典 score 中,要取出「小明」对应的分数,写法是 score[______]。
4.判断某个键是否在字典中,可以用 ______________ 关键字。
5.要同时遍历字典的键和值,写 for k, v in d.____________():。
6.安全取值(键不存在时不报错)的方法是 d.get(键, ______)。
7.集合最大的特点是自动 ______________,并且是 ______________ 的。
二、判断对错(每题 3 分,共 12 分)
1.字典可以像列表一样用下标 d[0] 取出第一个元素。(  )
2.字典的键必须是唯一的,但值可以重复。(  )
3.直接访问字典中不存在的键会报 KeyError。(  )
4.set([1, 1, 2, 3, 3]) 的结果是 {1, 2, 3}。(  )
三、手算模拟题(16 分)
第 1 题 按下面代码执行,请写出每一步后 d 的内容。
d = {}
d["a"] = 1
d["b"] = 2
d["a"] = 5
d["c"] = d["a"] + d["b"]
执行语句 d 的内容
d = {}
d["a"] = 1
d["b"] = 2
d["a"] = 5
d["c"] = d["a"] + d["b"]
第 2 题 词频统计,输入 "cat dog cat cat",请补完下面的记账过程。
遇到单词 是否在字典中 字典操作 操作后字典
cat 否 count["cat"] = 1 {"cat": 1}
dog
cat
cat
四、★ 补全代码(每空 5 分,共 20 分)
第 1 题 建立成绩字典并查询。
score = {"小明": 88, "小红": 92}
name = input("姓名:")
if name ①______ score:/n print(score[name])
else:/n print("查无此人")
第 2 题 词频统计。
text = input()
words = text.split()
count = ②______
for w in words:/n if w in count:/n count[w] ③______ 1
else:/n count[w] = 1
for w, c in count.④____________():
print(w, c)
① ______ ② ______ ③ ______ ④ ______
五、★★ 提高题(每题 10 分,共 30 分)
第 1 题 字典与列表的对比
同一个任务「存储 5 位同学的成绩并按姓名查询」,请分别用列表和字典各写一版程序,然后回答:哪种更方便?为什么?
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
结 论:____________________________________________________________
______________________________________________________________
______________________________________________________________
第 2 题 读程序写结果
d = {"a": 1, "b": 2, "c": 3}
s = 0
for k in d:/n s += d[k]
print(s)
print(len(d))
print("b" in d)
print(d.get("z", 100))
输出结果:
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
第 3 题 统计不同数字的个数
输入一行用空格分开的整数(可能有重复),分别用「集合」和「字典」两种方法统计其中有多少个不同的数字,比较两种写法的长短。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
六、★★★ 挑战题(每题 12 分,共 24 分)
第 1 题 词频排序输出
输入一句英文,用字典统计每个单词出现的次数,并按出现次数从多到少输出(次数相同时按单词在句中首次出现的顺序)。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
自测句子:cat dog cat bird dog cat → cat 3 次,dog 2 次,bird 1 次。
第 2 题 成绩统计与排名
用字典保存一组学生成绩,要求:① 输出平均分;② 输出最高分的学生姓名;③ 输出所有高于平均分的学生。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
教师评语:
__________________________________________________________________
__________________________________________________________________
第 14 课 参考答案(教师用)
与《教师参考答案》册同源,全部数值均已实际运行核验
一、填空
1.{} 2.键、值 3."小明" 4.in 5.items
6.默认值 7.去重、无序
二、判断对错
1.×(字典无序,不能用下标取元素,只能按键取) 2.√ 3.√ 4.√
三、手算模拟题
第 1 题:
执行语句 d 的内容
d = {} {}
d["a"] = 1 {"a": 1}
d["b"] = 2 {"a": 1, "b": 2}
d["a"] = 5 {"a": 5, "b": 2}(覆盖)
d["c"] = d["a"] + d["b"] {"a": 5, "b": 2, "c": 7}
第 2 题:
遇到单词 是否在字典中 字典操作 操作后字典
cat 否 count["cat"] = 1 {"cat": 1}
dog 否 count["dog"] = 1 {"cat": 1, "dog": 1}
cat 是 count["cat"] += 1 {"cat": 2, "dog": 1}
cat 是 count["cat"] += 1 {"cat": 3, "dog": 1}
四、★ 补全代码
① in ② {} ③ += ④ items
五、★★ 提高题
第 1 题:列表版要先循环找名字的位置再取分数;字典版一行 d.get(name, "查无此人") 搞定。字典更方便,因为姓名查询本质上就是「用名字找东西」的对应关系,字典的键值结构天生适合这种需求。
第 2 题:输出依次为 6、3、True、100。
第 3 题:集合版 print(len(set(nums))) 一行完成;字典版要写循环加 in 判断。集合更简洁,因为「有多少个不同的」正是集合去重的本职工作。
六、★★★ 挑战题
第 1 题:
text = input()
words = text.split()
count = {}
order = []
for w in words:
if w not in count:
order.append(w) # 记录首次出现的顺序
count[w] = count.get(w, 0) + 1
for w in sorted(order, key=lambda x: -count[x]):
print(f"{w}:{count[w]} 次")
第 2 题:
scores = {"张三": 88, "李四": 95, "王五": 72}
vals = list(scores.values())
print(f"平均分:{sum(vals) / len(vals):.2f}")
top = max(scores, key=scores.get)
print(f"最高分:{top}({scores[top]} 分)")
avg = sum(vals) / len(vals)
print("高于平均分的同学:")
for name, s in scores.items():
if s > avg:
print(f" {name}:{s}")
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)/ 让教学更有效 精品试卷 | 信息
第14课 课后练习
(学生用)
班级:____________ 姓名:____________ 得分:__________
一、填空(每空 3 分,共 24 分)
1.创建一个空字典,可以写成 d = ______。
2.字典中每一对数据由 ______________ 和 ______________ 组成,中间用冒号连接。
3.字典 score 中,要取出「小明」对应的分数,写法是 score[______]。
4.判断某个键是否在字典中,可以用 ______________ 关键字。
5.要同时遍历字典的键和值,写 for k, v in d.____________():。
6.安全取值(键不存在时不报错)的方法是 d.get(键, ______)。
7.集合最大的特点是自动 ______________,并且是 ______________ 的。
二、判断对错(每题 3 分,共 12 分)
1.字典可以像列表一样用下标 d[0] 取出第一个元素。(  )
2.字典的键必须是唯一的,但值可以重复。(  )
3.直接访问字典中不存在的键会报 KeyError。(  )
4.set([1, 1, 2, 3, 3]) 的结果是 {1, 2, 3}。(  )
三、手算模拟题(16 分)
第 1 题 按下面代码执行,请写出每一步后 d 的内容。
d = {}
d["a"] = 1
d["b"] = 2
d["a"] = 5
d["c"] = d["a"] + d["b"]
执行语句 d 的内容
d = {}
d["a"] = 1
d["b"] = 2
d["a"] = 5
d["c"] = d["a"] + d["b"]
第 2 题 词频统计,输入 "cat dog cat cat",请补完下面的记账过程。
遇到单词 是否在字典中 字典操作 操作后字典
cat 否 count["cat"] = 1 {"cat": 1}
dog
cat
cat
四、★ 补全代码(每空 5 分,共 20 分)
第 1 题 建立成绩字典并查询。
score = {"小明": 88, "小红": 92}
name = input("姓名:")
if name ①______ score:/n print(score[name])
else:/n print("查无此人")
第 2 题 词频统计。
text = input()
words = text.split()
count = ②______
for w in words:/n if w in count:/n count[w] ③______ 1
else:/n count[w] = 1
for w, c in count.④____________():
print(w, c)
① ______ ② ______ ③ ______ ④ ______
五、★★ 提高题(每题 10 分,共 30 分)
第 1 题 字典与列表的对比
同一个任务「存储 5 位同学的成绩并按姓名查询」,请分别用列表和字典各写一版程序,然后回答:哪种更方便?为什么?
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
结 论:____________________________________________________________
______________________________________________________________
______________________________________________________________
第 2 题 读程序写结果
d = {"a": 1, "b": 2, "c": 3}
s = 0
for k in d:/n s += d[k]
print(s)
print(len(d))
print("b" in d)
print(d.get("z", 100))
输出结果:
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
第 3 题 统计不同数字的个数
输入一行用空格分开的整数(可能有重复),分别用「集合」和「字典」两种方法统计其中有多少个不同的数字,比较两种写法的长短。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
六、★★★ 挑战题(每题 12 分,共 24 分)
第 1 题 词频排序输出
输入一句英文,用字典统计每个单词出现的次数,并按出现次数从多到少输出(次数相同时按单词在句中首次出现的顺序)。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
自测句子:cat dog cat bird dog cat → cat 3 次,dog 2 次,bird 1 次。
第 2 题 成绩统计与排名
用字典保存一组学生成绩,要求:① 输出平均分;② 输出最高分的学生姓名;③ 输出所有高于平均分的学生。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
教师评语:
__________________________________________________________________
__________________________________________________________________
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)

展开更多......

收起↑

资源列表