内容正文:
2025—2026学年高三信息技术下册3月阶段测试卷
满分:100分 考试时间:75分钟
注意事项:
1.答卷前,考生务必将自己的姓名、准考证号填写在答题卡上。
2.选择题时,选出每小题答案后,用2B铅笔把答题卡上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。
3.回答非选择题时,将答案写在答题卡上。写在本试卷上无效。
4.考试结束后,将本试卷和答题卡一并交回。
一、选择题(本大题共15小题,每小题3分,共45分。在每小题列出的四个选项中,只有一项是符合题目要求的。)
1. 下列有关数据与信息的描述,正确的是( )
A. 数据是信息的载体,信息是数据的内涵
B. 信息不需要加工处理即可直接使用
C. 同一组数据对于不同的接收者信息价值相同
D. 数据只能以数字的形式存在
2. 大数据具有“4V”特征,其中“Velocity”指的是( )
A. 数据量巨大 B. 数据类型多样 C. 处理速度快 D. 价值密度低
3. 以下选项中,属于数据结构研究的三个主要方面的是( )
A. 逻辑结构、存储结构、数据的运算
B. 顺序结构、选择结构、循环结构
C. 数组、链表、栈
D. 数据、算法、程序
4. 下列关于线性表存储结构的叙述,正确的是( )
A. 顺序存储结构支持随机存取,链式存储结构不能顺序存取
B. 链式存储结构在插入和删除操作上效率低于顺序存储结构
C. 顺序存储结构的存储空间必须连续,链式存储结构可以非连续
D. 链式存储结构比顺序存储结构占用更少的存储空间
5. 下列关于栈和队列的描述,正确的是( )
A. 栈是先进先出(FIFO)的数据结构
B. 队列是后进先出(LIFO)的数据结构
C. 栈的插入和删除操作只能在栈顶进行
D. 队列删除操作在队尾进行
6. 某算法的时间复杂度为O(n log n),则当输入规模n加倍时,算法执行时间大约变为原来的( )
A. 2倍 B. 4倍 C. 2+2log2n倍 D. 2倍多(略多于2倍)
7. 在Python中,表达式 16 // 3 + 8 % 5 * 2 的计算结果是( )
A. 9 B. 10 C. 11 D. 12
8. 下列关于递归算法的说法,错误的是( )
A. 递归算法必须有明确的终止条件
B. 递归算法通过函数调用自身解决问题
C. 递归算法的空间复杂度通常低于迭代算法
D. 递归算法可能导致栈溢出
9. 某完全二叉树共有6个节点,则其叶子节点的个数是( )
A. 2 B. 3 C. 4 D. 5
10. 关于排序算法的叙述,正确的是( )
A. 冒泡排序在最优情况下的时间复杂度为O(n)
B. 快速排序在任何情况下时间复杂度都是O(n log n)
C. 选择排序是一种稳定的排序算法
D. 插入排序对完全逆序的数组排序效率最高
11. 下列SQL语句中,用于向数据表中插入新记录的是( )
A. SELECT B. UPDATE C. INSERT D. DELETE
12. 下列关于数据可视化的说法,正确的是( )
A. 散点图不能用于展示两个变量之间的关系
B. 折线图适合展示不同类别的数据占比
C. 饼图适用于展示多个数据系列随时间的变化
D. 条形图可用于比较不同类别的数据大小
13. 下列Python语句中,能够正确创建一个包含1、3、5、7、9的列表的是( )
A. lst = [1 3 5 7 9] B. lst = {1,3,5,7,9} C. lst = (1,3,5,7,9) D. lst = [1,3,5,7,9]
14. 下列数据结构中,属于非线性结构的是( )
A. 栈 B. 队列 C. 树 D. 线性表
15. 下列关于算法的描述,错误的是( )
A 算法必须具有确定性、可行性、有穷性
B. 算法可以用自然语言、流程图或伪代码描述
C. 同一个问题可以有多种不同的算法
D. 算法的空间复杂度与输入规模无关
二、非选择题(本大题共4小题,共55分)
16. 某停车场只有一个通道,且只有一个出口,车辆进入时按顺序停放,出口处只能让最外面的车辆离开(类似栈结构)。下表记录了某段时间内车辆的进入和离开操作序列。
操作序号
操作类型
车牌号
1
进入(压栈)
京A123
2
进入(压栈)
沪B456
3
离开(弹栈)
——
4
进入(压栈)
粤C789
5
进入(压栈)
苏D012
6
离开(弹栈)
——
7
离开(弹栈)
——
(1)请写出每次操作后栈中的车辆顺序(从栈底到栈顶)。
(2)若该栈采用顺序存储结构(数组实现),初始栈顶指针top = -1,请写出操作2和操作6完成后top的值。
(3)若将停车场改为“排队等候”模式(先到先服务),应使用什么数据结构?请简要说明理由。
17. 阅读以下Python程序段,回答问题。
def binary_search(arr, key):
low, high = 0, len(arr)-1
while low <= high:
mid = (low + high) // 2
if arr[mid] == key:
return mid
elif arr[mid] < key:
low = mid + 1
else:
high = mid - 1
return -1
data = [2, 5, 8, 12, 16, 23, 38, 45, 56, 72]
result = binary_search(data, 23)
print(result)
(1)上述程序实现的是什么算法?该算法对数据有什么前提要求?
(2)写出程序执行后输出的结果,并描述查找23时的mid值变化过程。
(3)若查找的目标值为10,程序输出结果是什么?为什么?
18 某校高三年级信息技术课程期末成绩统计如下表所示:
班级
平均分
最高分
最低分
及格率(%)
高三(1)班
82.5
98
61
94
高三(2)班
78.3
95
52
86
高三(3)班
851
100
68
96
高三(4)班
79.6
97
58
88
(1)若要计算全年级的总平均分,应使用什么统计方法?请列出计算表达式。
(2)为了直观比较四个班级的平均分,应该选择哪种类型的图表?请说明理由。
(3)假设使用Python的pandas库,将上表数据读入名为df的DataFrame中。请写出筛选出及格率高于90%的班级的代码语句。
19. 阅读下列程序,完成填空。程序模拟一个简单的学生成绩管理系统,使用列表存储学生信息,并提供计算总分、平均分和查找最高分功能。
students = [] # 每个元素为字典 {"name":姓名, "score":成绩}
def add_student(name, score):
students.append({"name": name, "score": score})
print(f"已添加学生:{name},成绩{score}")
def total_score():
total = ①
for stu in students:
total += stu["score"]
return total
def average_score():
if len(students) == 0:
return 0
return total_score() / ②
def find_max():
if len(students) == 0:
return None
max_stu = students[0]
for stu in students[1:]:
if stu["score"] > max_stu["score"]:
③
return max_stu
add_student("赵一", 88)
add_student("钱二", 94)
add_student("孙三", 79)
print("总分:", total_score())
print("平均分:", average_score())
best = find_max()
print(f"最高分学生:{best['name']},成绩:{best['score']}")
(1)请将程序中①、②、③处的代码补充完整。
(2)运行该程序后,输出的总分、平均分和最高分学生信息分别是什么?
(3)若要将学生按成绩从高到低排序,可以使用Python哪个内置函数?请写出调用语句(假设原列表不变,生成新列表)。
第1页/共1页
学科网(北京)股份有限公司
$
2025—2026学年高三信息技术下册3月阶段测试卷
满分:100分 考试时间:75分钟
注意事项:
1.答卷前,考生务必将自己的姓名、准考证号填写在答题卡上。
2.选择题时,选出每小题答案后,用2B铅笔把答题卡上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。
3.回答非选择题时,将答案写在答题卡上。写在本试卷上无效。
4.考试结束后,将本试卷和答题卡一并交回。
一、选择题(本大题共15小题,每小题3分,共45分。在每小题列出的四个选项中,只有一项是符合题目要求的。)
1. 下列有关数据与信息的描述,正确的是( )
A. 数据是信息的载体,信息是数据的内涵
B. 信息不需要加工处理即可直接使用
C. 同一组数据对于不同的接收者信息价值相同
D. 数据只能以数字的形式存在
【答案】A
【解析】
【详解】本题考查数据与信息相关知识。A选项正确,数据是信息的载体,信息是数据所承载的内涵。B选项错误,信息往往需要经过加工处理后才能更有效地使用。C选项错误,同一组数据对于不同的接收者信息价值通常不同。D选项错误,数据不仅可以数字形式存在,还可以文字、图像、声音等多种形式存在。因此,本题选择A选项。
2. 大数据具有“4V”特征,其中“Velocity”指的是( )
A. 数据量巨大 B. 数据类型多样 C. 处理速度快 D. 价值密度低
【答案】C
【解析】
【详解】本题考查大数据的基本特征相关知识。大数据的“4V”特征中不同英文术语对应不同含义:Volume指数据量巨大,Variety指数据类型多样,Velocity指处理速度快,Value指价值密度低,因此“Velocity”的含义为处理速度快,对应题干第三个选项。故答案为:C。
3. 以下选项中,属于数据结构研究的三个主要方面的是( )
A. 逻辑结构、存储结构、数据的运算
B. 顺序结构、选择结构、循环结构
C. 数组、链表、栈
D. 数据、算法、程序
【答案】A
【解析】
【详解】本题考查数据结构的基本研究内容。数据结构研究的三个主要方面分别为数据的逻辑结构、数据的存储结构(又称物理结构)以及数据的运算,符合第一个选项的描述;顺序结构、选择结构、循环结构是程序设计的三种基本控制结构,不符合题意;数组、链表是常见的存储结构类型,栈是典型的线性数据结构,不属于数据结构研究的三个主要方面;数据、算法、程序不是数据结构研究三个主要方面的分类。故答案为:A。
4. 下列关于线性表存储结构的叙述,正确的是( )
A. 顺序存储结构支持随机存取,链式存储结构不能顺序存取
B. 链式存储结构在插入和删除操作上效率低于顺序存储结构
C. 顺序存储结构的存储空间必须连续,链式存储结构可以非连续
D. 链式存储结构比顺序存储结构占用更少的存储空间
【答案】C
【解析】
【详解】本题考查线性表的顺序存储与链式存储结构。A选项错误,顺序存储结构可通过下标直接访问元素支持随机存取,链式存储结构需从头结点依次遍历只能顺序存取。B选项错误,链式存储结构插入和删除操作仅需修改指针,效率高于需移动大量元素的顺序存储结构。C选项正确,顺序存储结构依赖连续存储空间,链式存储结构的结点可分散存储无需连续。D选项错误,链式存储结构每个结点需额外存储指针域,比顺序存储结构占用更多存储空间。因此,本题选择C选项。
5. 下列关于栈和队列的描述,正确的是( )
A. 栈是先进先出(FIFO)的数据结构
B. 队列是后进先出(LIFO)数据结构
C. 栈的插入和删除操作只能在栈顶进行
D. 队列的删除操作在队尾进行
【答案】C
【解析】
【详解】本题考查栈和队列的基本概念与操作特性。栈的核心特点是后进先出(LIFO),因此“栈是先进先出(FIFO)的数据结构”描述错误;队列的核心特点是先进先出(FIFO),因此“队列是后进先出(LIFO)的数据结构”描述错误;栈属于操作受限的线性表,插入和删除操作都只能在栈顶进行,该描述正确;队列的插入操作在队尾进行,删除操作在队头进行,因此“队列的删除操作在队尾进行”描述错误。故答案为:C。
6. 某算法的时间复杂度为O(n log n),则当输入规模n加倍时,算法执行时间大约变为原来的( )
A. 2倍 B. 4倍 C. 2+2log2n倍 D. 2倍多(略多于2倍)
【答案】D
【解析】
【详解】本题考查算法时间复杂度的分析与计算。算法的时间复杂度为 T(n)=O(nlogn) ,表示算法的执行时间与 nlogn 同阶增长。 当输入规模从 n 变为 2n 时,我们计算新的执行时间与原时间的比值:
,当 n 很大时,是一个大于 0 但趋近于 0的正数,因此:,这说明执行时间略多于 2 倍。故答案为:D。
7. 在Python中,表达式 16 // 3 + 8 % 5 * 2 的计算结果是( )
A. 9 B. 10 C. 11 D. 12
【答案】C
【解析】
【详解】本题考查Python运算符优先级相关知识。Python中算术运算符优先级为:乘除、取余、取整运算优先级高于加减运算,同级运算从左至右执行,先计算16//3=5,再计算8%5=3,接着计算3*2=6,最后计算5+6=11。因此,本题选择C选项。
8. 下列关于递归算法的说法,错误的是( )
A. 递归算法必须有明确的终止条件
B. 递归算法通过函数调用自身解决问题
C. 递归算法的空间复杂度通常低于迭代算法
D 递归算法可能导致栈溢出
【答案】C
【解析】
【详解】本题考查递归算法相关知识。A选项正确,递归算法必须具备明确的终止条件,否则会出现无限递归。B选项正确,递归算法的核心特征就是函数自身调用自身来分解并解决问题。C选项错误,递归算法需要频繁进行函数调用并保存调用栈,空间复杂度通常高于迭代算法。D选项正确,递归调用层级过深时,会超出系统栈的容量,进而导致栈溢出问题。因此,本题选择C选项。
9. 某完全二叉树共有6个节点,则其叶子节点的个数是( )
A. 2 B. 3 C. 4 D. 5
【答案】B
【解析】
【详解】本题考查完全二叉树的性质与节点数量计算。根据二叉树基本性质:叶子节点数n_0与度为2的节点数n_2满足n_0 = n_2 + 1;完全二叉树中,度为1的节点数n_1只能为0或1,总节点数满足n = n_0 + n_1 + n_2。本题总节点数n=6,代入公式整理得2n_2 + n_1 = 5,仅当n_1=1时存在整数解,计算得n_2=2,因此叶子节点数n_0=2+1=3,对应第二个选项。故答案为:B。
10. 关于排序算法的叙述,正确的是( )
A. 冒泡排序在最优情况下的时间复杂度为O(n)
B. 快速排序在任何情况下时间复杂度都是O(n log n)
C. 选择排序是一种稳定的排序算法
D. 插入排序对完全逆序的数组排序效率最高
【答案】A
【解析】
【详解】本题考查排序算法相关知识。A选项正确,冒泡排序在数据已有序的最优情况下只需遍历一趟,时间复杂度为O(n)。B选项错误,快速排序在数据已有序或逆序的最坏情况下时间复杂度为O(n²),并非任何情况都是O(n log n)。C选项错误,选择排序在交换元素时会破坏相同元素的相对位置,属于不稳定排序算法。D选项错误,插入排序在数据完全逆序时需大量移动元素,效率极低,最优情况为数据已有序。因此,本题选择A选项。
11. 下列SQL语句中,用于向数据表中插入新记录的是( )
A. SELECT B. UPDATE C. INSERT D. DELETE
【答案】C
【解析】
【详解】本题考查的是数据库操作。SELECT:用于查询(检索)数据表中的记录,不能插入新数据。UPDATE:用于更新数据表中已存在的记录(如修改字段值),不能添加新记录。INSERT:用于向数据表中插入新记录(添加新行),符合题目要求。DELETE:用于删除数据表中的记录,不能插入数据。故本题应选C。
12. 下列关于数据可视化的说法,正确的是( )
A. 散点图不能用于展示两个变量之间的关系
B. 折线图适合展示不同类别数据占比
C. 饼图适用于展示多个数据系列随时间的变化
D. 条形图可用于比较不同类别的数据大小
【答案】D
【解析】
【详解】本题考查数据可视化中不同常见图表的适用场景。选项A:散点图的核心作用就是展示两个变量之间的相关关系,该说法错误;选项B:折线图适合展示数据随时间或有序类别的变化趋势,展示不同类别数据占比适合用饼图,该说法错误;选项C:饼图适用于展示各部分占总体的比例,展示多个数据系列随时间的变化适合用折线图,该说法错误;选项D:条形图通过不同长度的条形可以清晰比较不同类别的数据大小,该说法正确。故答案为:D。
13. 下列Python语句中,能够正确创建一个包含1、3、5、7、9的列表的是( )
A. lst = [1 3 5 7 9] B. lst = {1,3,5,7,9} C. lst = (1,3,5,7,9) D. lst = [1,3,5,7,9]
【答案】D
【解析】
【详解】本题考查Python中列表的创建语法以及不同容器数据类型的标识。Python中不同容器有不同的书写语法:列表使用方括号[]包裹元素,元素之间用逗号分隔;集合使用大括号{}包裹元素;元组使用小括号()包裹元素。选项A列表元素缺少逗号分隔,语法错误;选项B创建的是集合不是列表;选项C创建的是元组不是列表;选项D符合列表创建语法,可以正确得到题目要求的列表。故答案为:D。
14. 下列数据结构中,属于非线性结构的是( )
A. 栈 B. 队列 C. 树 D. 线性表
【答案】C
【解析】
【详解】本题考查数据结构线性与非线性分类相关知识。A选项错误,栈是限定仅在一端进行插入和删除操作的线性表,属于线性结构。B选项错误,队列是限定在一端进行插入、另一端进行删除操作的线性表,属于线性结构。C选项正确,树中结点存在一对多的层次关系,不存在唯一的前驱后继关系,属于非线性结构。D选项错误,线性表中元素存在一对一的线性关系,属于线性结构。因此,本题选择C选项。
15. 下列关于算法的描述,错误的是( )
A. 算法必须具有确定性、可行性、有穷性
B. 算法可以用自然语言、流程图或伪代码描述
C. 同一个问题可以有多种不同的算法
D. 算法的空间复杂度与输入规模无关
【答案】D
【解析】
【详解】本题考查算法基本概念与算法复杂度的相关知识。算法的核心特性包括确定性、可行性、有穷性,第一个选项描述正确;算法可通过自然语言、流程图、伪代码等多种方式描述,第二个选项描述正确;同一个问题可以设计出多种不同的算法,第三个选项描述正确;算法的空间复杂度是对算法执行过程中所需存储空间的度量,其大小与输入规模相关,输入规模越大,通常需要的存储空间越多,因此第四个选项描述错误。故答案为:D。
二、非选择题(本大题共4小题,共55分)
16. 某停车场只有一个通道,且只有一个出口,车辆进入时按顺序停放,出口处只能让最外面的车辆离开(类似栈结构)。下表记录了某段时间内车辆的进入和离开操作序列。
操作序号
操作类型
车牌号
1
进入(压栈)
京A123
2
进入(压栈)
沪B456
3
离开(弹栈)
——
4
进入(压栈)
粤C789
5
进入(压栈)
苏D012
6
离开(弹栈)
——
7
离开(弹栈)
——
(1)请写出每次操作后栈中的车辆顺序(从栈底到栈顶)。
(2)若该栈采用顺序存储结构(数组实现),初始栈顶指针top = -1,请写出操作2和操作6完成后top的值。
(3)若将停车场改为“排队等候”模式(先到先服务),应使用什么数据结构?请简要说明理由。
【答案】(1)操作1后:[京A123];操作2后:[京A123,沪B456];操作3后:[京A123];操作4后:[京A123,粤C789];操作5后:[京A123,粤C789,苏D012];操作6后:[京A123,粤C789];操作7后:[京A123]。(6分,每正确1个给1分)
(2)操作2完成后top=1;操作6完成后top=1。
(3)应使用队列。因为队列是先进先出(FIFO)结构,符合排队先到先服务的规则。
【解析】
【详解】本题考查栈的基本操作、顺序存储栈的栈顶指针计算、队列的特性与应用。
(1)栈满足后进先出规则,要求从栈底到栈顶写顺序,每次压栈将新车放在栈顶,弹栈移除当前栈顶元素,按操作逐步推导即可得到结果:操作1后:[京A123];操作2后:[京A123,沪B456];操作3后:[京A123];操作4后:[京A123,粤C789];操作5后:[京A123,粤C789,苏D012];操作6后:[京A123,粤C789];操作7后:[京A123]
(2)本题中顺序栈初始top=-1,规则为每压栈1次top加1,每弹栈1次top减1:初始top=-1,操作1压栈后top变为0,操作2再次压栈后top变为1;操作5完成后共压入4辆车弹出1辆车,top为2,操作6弹出1辆车,top变为1;
(3)停车场改为先到先服务的排队模式,符合先进先出的特性,队列是典型的先进先出(FIFO)结构,正好满足该需求。
17. 阅读以下Python程序段,回答问题。
def binary_search(arr, key):
low, high = 0, len(arr)-1
while low <= high:
mid = (low + high) // 2
if arr[mid] == key:
return mid
elif arr[mid] < key:
low = mid + 1
else:
high = mid - 1
return -1
data = [2, 5, 8, 12, 16, 23, 38, 45, 56, 72]
result = binary_search(data, 23)
print(result)
(1)上述程序实现的是什么算法?该算法对数据有什么前提要求?
(2)写出程序执行后输出的结果,并描述查找23时的mid值变化过程。
(3)若查找的目标值为10,程序输出结果是什么?为什么?
【答案】(1)二分查找(折半查找)算法。前提:数据必须是有序的(升序或降序)。
(2)输出结果为5(索引从0开始,23的索引是5)。查找23过程:初始low=0,high=9,mid=4(值16<23→low=5);第二次mid=7(值45>23→high=6);第三次mid=5(值23匹配)。
(3)输出-1。因为10不在列表中,二分查找无法找到,返回-1表示查找失败。
【解析】
【分析】本题考查二分查找。
小问1详解】
该代码是标准的二分查找实现,二分查找通过每次缩小一半查找范围提升效率,必须要求原数据有序,才能正确调整查找区间,因此前提是数据有序。
【小问2详解】
数组下标从0开始,目标23的下标为5,因此输出5。过程:初始low=0,high=9,第一次计算mid=(0+9)//2=4,arr[4]=16<23,更新low=5;第二次计算mid=(5+9)//2=7,arr[7]=45>23,更新high=6;第三次计算mid=(5+6)//2=5,匹配到目标,因此mid变化为4→7→5。
【小问3详解】
查找10时,最终循环结束时low>high,未匹配到目标,按照程序逻辑会返回-1,因此输出-1。
18. 某校高三年级信息技术课程期末成绩统计如下表所示:
班级
平均分
最高分
最低分
及格率(%)
高三(1)班
82.5
98
61
94
高三(2)班
78.3
95
52
86
高三(3)班
85.1
100
68
96
高三(4)班
79.6
97
58
88
(1)若要计算全年级的总平均分,应使用什么统计方法?请列出计算表达式。
(2)为了直观比较四个班级的平均分,应该选择哪种类型的图表?请说明理由。
(3)假设使用Python的pandas库,将上表数据读入名为df的DataFrame中。请写出筛选出及格率高于90%的班级的代码语句。
【答案】(1)加权平均法。设4个班人数分别为 n1 、n2 、n3 、n4,则表达式: (82.5*n1+78.3*n2+85.1*n3+79.6*n4)/(n1+n2+n3+n4)。
(2)应选择柱状图(条形图)。因为柱状图适合比较不同类别的数值大小,可以直观展示四个班级平均分的差异。
(3)df[df["及格率(%)"] > 90] 。
【解析】
【详解】本题考查统计方法应用、数据可视化图表选择、Python pandas库数据筛选能力。
(1)计算全年级总平均分,需要结合各班级平均分计算总体均值,属于加权平均的应用场景。设4个班人数分别为 n1 、n2 、n3 、n4 ,则: 总平均分 = (82.5*n1+78.3*n2+85.1*n3+79.6*n4)/(n1+n2+n3+n4)
(2)常见图表中,折线图适合展示数据变化趋势,饼图适合展示各部分占总体的比例,只有柱形图最适合对比不同分类的数值大小。
(3)pandas中使用布尔索引实现数据筛选,先通过条件df['及格率(%)'] > 90得到满足条件的布尔序列,再对原DataFrame做索引即可得到筛选结果。
19. 阅读下列程序,完成填空。程序模拟一个简单的学生成绩管理系统,使用列表存储学生信息,并提供计算总分、平均分和查找最高分功能。
students = [] # 每个元素为字典 {"name":姓名, "score":成绩}
def add_student(name, score):
students.append({"name": name, "score": score})
print(f"已添加学生:{name},成绩{score}")
def total_score():
total = ①
for stu in students:
total += stu["score"]
return total
def average_score():
if len(students) == 0:
return 0
return total_score() / ②
def find_max():
if len(students) == 0:
return None
max_stu = students[0]
for stu in students[1:]:
if stu["score"] > max_stu["score"]:
③
return max_stu
add_student("赵一", 88)
add_student("钱二", 94)
add_student("孙三", 79)
print("总分:", total_score())
print("平均分:", average_score())
best = find_max()
print(f"最高分学生:{best['name']},成绩:{best['score']}")
(1)请将程序中①、②、③处的代码补充完整。
(2)运行该程序后,输出的总分、平均分和最高分学生信息分别是什么?
(3)若要将学生按成绩从高到低排序,可以使用Python的哪个内置函数?请写出调用语句(假设原列表不变,生成新列表)。
【答案】(1)① 0 ② len(students) ③ max_stu = stu
(2)总分:88+94+79=261,平均分:87.0,最高分学生:钱二,成绩94。
(3)可以使用 sorted() 函数。示例:sorted_students = sorted(students, key=lambda x: x["score"], reverse=True)。
【解析】
【详解】本题考查Python基础语法,包括累加、平均、最值的算法逻辑,以及Python列表操作和内置函数的使用。
(1)①计算总分需要先初始化累加变量total,初始值应为0;②平均分的计算为总分除以学生总人数,学生总人数为存储学生信息的students列表的长度;③查找最高分的遍历过程中,当当前学生分数高于当前记录的最高分时,需要更新最高分学生变量max_stu为当前学生stu;
(2)三名学生成绩为88、94、79,计算得总分88+94+79=261,平均分261÷3=87.0,最高分是钱二的94分。
(3)列表.sort()是原地排序会修改原列表,而内置函数sorted()会返回排序后的新列表,符合要求;reverse=True实现成绩降序(从高到低),key指定按成绩字段排序。
第1页/共1页
学科网(北京)股份有限公司
$