第7课 列表初探——批量数据的处理课后练习--小学信息科技Python程序设计

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

第7课 列表初探——批量数据的处理课后练习--小学信息科技Python程序设计

资源简介

/ 让教学更有效 精品试卷 | 信息
第7课 课后练习
(学生用)
班级:____________ 姓名:____________ 得分:__________
一、填空(每空 3 分,共 27 分)
1.创建一个空列表,可以写成 a = ______。
2.往列表末尾添加元素 x,可以写成 a.____________(x)。
3.列表 a = [88, 92, 75, 60] 中,a[0] 的值是 ______,a[3] 的值是 ______。
4.len(a) 的值是 ______;a[len(a) - 1] 的值是 ______。
5.sum(a) 的值是 ______;max(a) 的值是 ______;min(a) 的值是 ______。
二、判断对错(每题 3 分,共 12 分)
1.列表里只能放数字,不能放文字。(  )
2.列表的下标从 1 开始数。(  )
3.使用 append() 之前必须先建立列表,例如 a = []。(  )
4.如果只要最大值,用 max(a) 就够了;但如果还要知道最大值的位置,就需要用循环记录下标。(  )
三、手算模拟题(12 分)
a = [5, 2, 9, 1]
max_i = 0
for i in range(1, len(a)):
if a[i] > a[max_i]:
max_i = i
print("最大值:", a[max_i])
print("位置:", max_i)
请补齐执行过程:
i a[i] a[max_i] 条件成立吗 max_i 的值
初始 — 5 — 0
1
2
3
输出结果:最大值:______ 位置:______
想一想:这里的「位置 2」指的是第 ______ 个元素?如果要按人的习惯输出「第几个」,程序应改成 print("位置:", max_i + ______)。
四、★ 补全代码(每空 4 分,共 16 分)
第 1 题 成绩统计。
scores = [88, 92, 75, 60]
print("人数:", ①__________(scores))
print("总分:", ②__________(scores))
print("最高:", max(scores))
print("最低:", min(scores))
第 2 题 录入 n 个数并打印。
n = int(input())
a = ③______
for i in range(n):
a.④____________(int(input()))
print(a)
① ______ ② ______ ③ ______ ④ ______
五、★★ 编程题(每题 10 分,共 20 分)
第 1 题 录入 5 个同学的成绩,输出:总分、平均分(保留 2 位小数)、最高分、最低分。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
第 2 题 录入 n 个数,输出这些数中所有大于平均数的数。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
六、★★★ 挑战题(13 分)
录入 n 个整数,找出最大值和最小值,并分别输出它们所在的位置(第几个)。
(提示:位置从 0 开始数,输出时可以加 1 变成人的习惯;需要两个变量分别记录最大值和最小值的下标)
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
自测数据:5 个数——3 8 1 9 4。应输出:最大值 9(第 4 个),最小值 1(第 3 个)。
教师评语:
__________________________________________________________________
__________________________________________________________________
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)/ 让教学更有效 精品试卷 | 信息
第7课 课后练习
(答案版 · 教师用)
班级:____________ 姓名:____________ 得分:__________
一、填空(每空 3 分,共 27 分)
1.创建一个空列表,可以写成 a = ______。
2.往列表末尾添加元素 x,可以写成 a.____________(x)。
3.列表 a = [88, 92, 75, 60] 中,a[0] 的值是 ______,a[3] 的值是 ______。
4.len(a) 的值是 ______;a[len(a) - 1] 的值是 ______。
5.sum(a) 的值是 ______;max(a) 的值是 ______;min(a) 的值是 ______。
二、判断对错(每题 3 分,共 12 分)
1.列表里只能放数字,不能放文字。(  )
2.列表的下标从 1 开始数。(  )
3.使用 append() 之前必须先建立列表,例如 a = []。(  )
4.如果只要最大值,用 max(a) 就够了;但如果还要知道最大值的位置,就需要用循环记录下标。(  )
三、手算模拟题(12 分)
a = [5, 2, 9, 1]
max_i = 0
for i in range(1, len(a)):
if a[i] > a[max_i]:
max_i = i
print("最大值:", a[max_i])
print("位置:", max_i)
请补齐执行过程:
i a[i] a[max_i] 条件成立吗 max_i 的值
初始 — 5 — 0
1
2
3
输出结果:最大值:______ 位置:______
想一想:这里的「位置 2」指的是第 ______ 个元素?如果要按人的习惯输出「第几个」,程序应改成 print("位置:", max_i + ______)。
四、★ 补全代码(每空 4 分,共 16 分)
第 1 题 成绩统计。
scores = [88, 92, 75, 60]
print("人数:", ①__________(scores))
print("总分:", ②__________(scores))
print("最高:", max(scores))
print("最低:", min(scores))
第 2 题 录入 n 个数并打印。
n = int(input())
a = ③______
for i in range(n):
a.④____________(int(input()))
print(a)
① ______ ② ______ ③ ______ ④ ______
五、★★ 编程题(每题 10 分,共 20 分)
第 1 题 录入 5 个同学的成绩,输出:总分、平均分(保留 2 位小数)、最高分、最低分。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
第 2 题 录入 n 个数,输出这些数中所有大于平均数的数。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
六、★★★ 挑战题(13 分)
录入 n 个整数,找出最大值和最小值,并分别输出它们所在的位置(第几个)。
(提示:位置从 0 开始数,输出时可以加 1 变成人的习惯;需要两个变量分别记录最大值和最小值的下标)
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
自测数据:5 个数——3 8 1 9 4。应输出:最大值 9(第 4 个),最小值 1(第 3 个)。
教师评语:
__________________________________________________________________
__________________________________________________________________
第 7 课 参考答案(教师用)
与《教师参考答案》册同源,全部数值均已实际运行核验
一、填空
1.[] 2.append 3.88;60 4.4;60 5.315;92;60
(88 + 92 + 75 + 60 = 315)
二、判断对错
1.  列表里可以放文字,也可以混放
2.  从 0 开始
3.  4.
三、手算模拟题
a = [5, 2, 9, 1]
max_i = 0
for i in range(1, len(a)):
if a[i] > a[max_i]:
max_i = i
i a[i] a[max_i] 条件成立吗 max_i 的值
初始 — 5 — 0
1 2 5 否 0
2 9 5 是 2
3 1 9 否 2
输出:最大值:9 位置:2
想一想:「位置 2」指的是第 3 个元素(因为下标从 0 开始)。
按人的习惯输出应改成 print("位置:", max_i + 1)。
四、★ 补全代码
① len ② sum ③ [] ④ append
五、★★ 编程题
第 1 题:
scores = []
for i in range(5):
scores.append(float(input("请输入成绩:")))
print("总分:", sum(scores))
print(f"平均分:{sum(scores) / len(scores):.2f}")
print("最高分:", max(scores))
print("最低分:", min(scores))
第 2 题:
n = int(input("请输入个数:"))
a = []
for i in range(n):
a.append(int(input()))
avg = sum(a) / len(a)
for x in a:
if x > avg:
print(x, end=" ")
六、★★★ 挑战题
n = int(input("请输入个数:"))
a = []
for i in range(n):
a.append(int(input()))
max_i = 0
min_i = 0
for i in range(1, len(a)):
if a[i] > a[max_i]:
max_i = i
if a[i] < a[min_i]:
min_i = i
print("最大值:", a[max_i], "第", max_i + 1, "个")
print("最小值:", a[min_i], "第", min_i + 1, "个")
测试 3 8 1 9 4 → 最大值 9 第 4 个,最小值 1 第 3 个。
常见错误提醒:同一次循环里两条 if 都要判断,不能写成 if / elif,
否则某个元素可能只更新了最大值或只更新了最小值。
## 附:本页核验说明
以上所有数值结论(整除取余、秒数换算、BMI、闰年四种情形、range 四种写法、
1~100 求和 5050、10! = 3628800、平方和 30、偶数和 2550、外 3 内 12、
数字金字塔、split 结果、单词数 5、cat 3、apple 2、最大值 9 位置 2、
3 8 1 9 4 的最大/最小值与位置)均已实际运行 Python 3.13 复核通过,
脚本见 .build/verify_answers_1_7.py(35 项,35 通过)。
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)

展开更多......

收起↑

资源列表