资源简介 / 让教学更有效 精品试卷 | 信息第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"] = 1d["b"] = 2d["a"] = 5d["c"] = d["a"] + d["b"]执行语句 d 的内容d = {}d["a"] = 1d["b"] = 2d["a"] = 5d["c"] = d["a"] + d["b"]第 2 题 词频统计,输入 "cat dog cat cat",请补完下面的记账过程。遇到单词 是否在字典中 字典操作 操作后字典cat 否 count["cat"] = 1 {"cat": 1}dogcatcat四、★ 补全代码(每空 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] ③______ 1else:/n count[w] = 1for w, c in count.④____________():print(w, c)① ______ ② ______ ③ ______ ④ ______五、★★ 提高题(每题 10 分,共 30 分)第 1 题 字典与列表的对比同一个任务「存储 5 位同学的成绩并按姓名查询」,请分别用列表和字典各写一版程序,然后回答:哪种更方便?为什么?________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________结 论:________________________________________________________________________________________________________________________________________________________________________________________第 2 题 读程序写结果d = {"a": 1, "b": 2, "c": 3}s = 0for 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.items6.默认值 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) + 1for 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"] = 1d["b"] = 2d["a"] = 5d["c"] = d["a"] + d["b"]执行语句 d 的内容d = {}d["a"] = 1d["b"] = 2d["a"] = 5d["c"] = d["a"] + d["b"]第 2 题 词频统计,输入 "cat dog cat cat",请补完下面的记账过程。遇到单词 是否在字典中 字典操作 操作后字典cat 否 count["cat"] = 1 {"cat": 1}dogcatcat四、★ 补全代码(每空 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] ③______ 1else:/n count[w] = 1for w, c in count.④____________():print(w, c)① ______ ② ______ ③ ______ ④ ______五、★★ 提高题(每题 10 分,共 30 分)第 1 题 字典与列表的对比同一个任务「存储 5 位同学的成绩并按姓名查询」,请分别用列表和字典各写一版程序,然后回答:哪种更方便?为什么?________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________结 论:________________________________________________________________________________________________________________________________________________________________________________________第 2 题 读程序写结果d = {"a": 1, "b": 2, "c": 3}s = 0for 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) 展开更多...... 收起↑ 资源列表 第14课 字典与集合——用名字找东西课后练习(学生用).docx 第十四课课后练习(答案版).docx