内容正文:
丽水市2024学年第二学期普通高中教学质量监控
高一技术试题卷 2025.06
本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
注意事项:
1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
第一部分 信息技术(50分)
一、选择题(本大题共14小题,每小题2分,共28分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1. 某校餐厅引入智慧管理系统,学生可在自助点餐机上选取菜品,菜品信息以文本、图像、视频等格式存储。系统通过摄像头采集人脸图像,与数据库中预存的人脸信息进行比对,完成刷脸支付,并语音播报支付信息。同时该系统还支持扫码付款、每日消费数据统计等功能。下列关于数据与信息的说法,正确的是( )
A. 历史消费数据不存在价值
B. 菜品信息的表现形式只能是图像
C. 信息经过加工处理可具有更高的价值
D. 同一信息只能依附同一载体
【答案】C
【解析】
【详解】本题考查的是数据与信息。历史消费数据可以被加工处理,用于分析消费习惯、优化菜品供应或财务管理,因此具有潜在价值。题干明确指出菜品信息以“文本、图像、视频等格式存储”,表明同一菜品信息可以有多种表现形式。数据经过加工(如分析、汇总)可转化为信息,提升其价值。题干中菜品信息以多种格式存储,说明同一信息(如菜品详情)可用不同载体表示。故选C。
2. 某校餐厅引入智慧管理系统,学生可在自助点餐机上选取菜品,菜品信息以文本、图像、视频等格式存储。系统通过摄像头采集人脸图像,与数据库中预存的人脸信息进行比对,完成刷脸支付,并语音播报支付信息。同时该系统还支持扫码付款、每日消费数据统计等功能。下列关于该系统数据管理与数据安全的说法,不正确的是( )
A. 加密人脸数据可提升数据的安全性
B. 不同格式的数据必须保存在不同的存储设备中
C. 菜品图像是非结构化数据
D. 为保护系统数据安全,数据存储可采用磁盘阵列
【答案】B
【解析】
【详解】本题考查的是数据安全。数据存储的物理设备与数据格式无关,系统完全可以将文本、图像、视频等不同格式的数据存储在同一个设备(如数据库或磁盘阵列)中。是否需要分离存储取决于性能或管理需求,而非格式本身。故选B。
3. 某校餐厅引入智慧管理系统,学生可在自助点餐机上选取菜品,菜品信息以文本、图像、视频等格式存储。系统通过摄像头采集人脸图像,与数据库中预存的人脸信息进行比对,完成刷脸支付,并语音播报支付信息。同时该系统还支持扫码付款、每日消费数据统计等功能。下列关于该系统中数据采集与编码的说法,不正确的是( )
A. 预存的人脸图像可通过摄像头采集
B. 系统播报支付信息是数字信号转化成模拟信号的过程
C. 消费数据在计算机中以十六进制形式存储
D. 识别二维码是数据解码的过程
【答案】C
【解析】
【详解】本题考查的是编码。计算机内部实际存储数据是以二进制形式(0和1)进行的,十六进制仅是方便人类阅读的表示方式,并非存储形式。故选C。
4. 某学校共有3个年级,每个年级有10个班,各班学生人数在35至40之间。现用 12位二进制编码来唯一标识每一位学生,下列二进制位标识分配方案可行的是( )
A.
B.
C.
D.
A. A B. B C. C D. D
【答案】C
【解析】
【详解】本题考查的是编码。年级:学校有3个年级,因为22=4≥3,所以年级需要2位二进制数。班级:每个年级有10个班,因为24=16≥10,所以班级需要4位二进制数。班内编号:各班学生人数在35至40之间,最多40人,因为26=64≥40,所以班内编号需要6位二进制数。故选C。
5. 下列关于大数据的说法,正确的是( )
A. 对大数据进行处理时,必须保证每个数据都准确无误
B. 大数据给生活带来便利的同时也会带来新的社会问题
C. 大数据数据量大,处理速度慢
D. 大数据更注重事物间的因果关系
【答案】B
【解析】
【详解】本题考查的是大数据。A选项错误,大数据处理时,并不要求每个数据都绝对准确。大数据允许一定的噪声和不确定性,重点是从整体数据中挖掘趋势和模式,而非追求每个数据点的精确性。B选项正确,大数据确实为生活带来便利,但同时也会引发新的社会问题,如隐私泄露、数据安全风险、算法偏见和数字鸿沟等。C选项错误,大数据的数据量虽大,但处理速度并不慢。大数据技术(如分布式计算框架Hadoop和Spark)强调高速处理(Velocity),能够实时或近实时地分析海量数据,以满足应用需求。D选项错误,大数据更注重事物间的相关性,而非因果关系。故选B。
6. 某图像文件属性如图所示,该图像所占的存储空间约为( )
A. 12KB B. 1.5KB C. 384KB D. 1536KB
【答案】D
【解析】
【详解】本题考查的是图像编码。图像容量计算公式:存储容量=水平像素×垂直像素×每个像素色彩所需位数/8(单位:B)。1024*768*16/(8*1024)=1536KB。故选D。
7. 某算法的部分流程图如图所示,若输入m=36,n=24,执行该部分流程图后,输出m的值为( )
A. 6 B. 72 C. 12 D. 24
【答案】C
【解析】
【详解】本题考查的是流程图识读。已知输入 m=36 , n=24 。因为 36>24 ,所以不执行 “交换 m,n 的值” 操作。
第一次循环计算 r : r=m%n=36%24=12 。
更新 m 和 n :m=n=24 ,n=r=12 。
判断 r>0 :12>0 ,继续循环。
第二次循环计算r=m%n=24%12=0 。
更新 m 和 n : m=n=12 , n=r=0 。
判断 r>0 : 0 不大于 0 ,循环结束。循环结束后,输出m的值为12。故选C。
8. 若变量a=2,b=3,c=4,则运算表达式b**2//c+a*b的值是( )
A. 9 B. 8 C. 7 D. 6
【答案】B
【解析】
【详解】本题考查的是Python表达式。表达式中操作符的含义和优先级如下: ** 表示幂运算(最高优先级)。 // 表示整数除法(取整)。 * 表示乘法。 + 表示加法。按操作符优先级和从左到右顺序逐步计算:
计算 b**2:3**2 = 9。
计算 b**2 // c:9 // 4 = 2(整数除法,9 除以 4 商为 2,余数舍弃)。
计算 a*b:2 * 3 = 6。
计算加法:2 + 6 = 8。
故选B。
9. 某个时间点的值存储在变量t中,如t="2025-03-01 17:15:18",现要提取月份到变量m中,下列选项正确的是( )
A. m=t[5:7] B. m=t[5:6] C. m=t[6:8] D. m=t[6:7]
【答案】A
【解析】
【详解】本题考查的是Python表达式。切片操作 [start:end] 的含义:提取从索引 start 开始、到索引 end 结束(但不包含 end)的子字符串。变量 t 存储的字符串为 “2025-03-01 17:15:18”,其格式固定为 “YYYY-MM-DD HH:MM:SS”。 月份部分的位置:字符串中月份(如 “03”)的起始索引为 5(因为索引从 0 开始),结束索引为 7(但切片操作不包含结束索引)。故选A。
10. 已知字典ACI存储了部分大写字母的ASCII值,若ACI={"A":65,"B":66,"C":67,"D":68},则访问字典中"C"的ASCII值的表达式是( )
A. ACI[3] B. ACI["C"] C. ACI{"C"} D. ACI[C]
【答案】B
【解析】
【详解】本题考查的是Python表达式。在 Python 中,字典(dictionary)是一种键值对(key-value)数据结构,通过键(key) 来访问对应的值(value)。 给定字典 ACI = {"A":65, "B":66, "C":67, "D":68},键是字符串 "A"、"B"、"C"、"D",值是对应的 ASCII 值。 要访问键 "C" 的值(即 ASCII 值 67),正确的语法是使用方括号 [] 并指定键名,即 ACI["C"]。故选B。
11. 为增强学生的体质,某校设置学生运动打卡积分奖励机制。学生一天的打卡情况由是否打卡(已打卡为Y,未打卡为N)和运动时间(单位:分钟)组成,如Y40表示已打卡且运动时间为40分钟。积分奖励规则如下:
①运动时间1至30分钟内加3分,30分钟及以上加5分;
②当天已打卡加1分,否则为0分。
如下伪代码的功能为计算一名学生一天的积分情况
某学生某天已打卡,运动时间为40分钟,则积分为( )
A 6 B. 5 C. 4 D. 3
【答案】A
【解析】
【详解】本题考查的是分支语句。已知该学生某天已打卡,运动时间为 40 分钟。伪代码初始时 s←0 ,然后根据条件依次判断执行:
首先判断 “打卡” 条件:因为学生已打卡,所以执行 s=s+1 。此时 s 的初始值为 0 ,执行后 s=0+1=1 。
接着判断 “运动时间 >=30 ” 条件:学生运动时间 40 分钟, 40≥30 ,所以执行 s=s+5 。此时 s=1+5=6 。
由于已经满足 “运动时间 >=30 ” 的条件,“elif 运动时间大于等于 1 小于 30” 这一条件不会再执行。
故选A。
12. 为增强学生的体质,某校设置学生运动打卡积分奖励机制。学生一天的打卡情况由是否打卡(已打卡为Y,未打卡为N)和运动时间(单位:分钟)组成,如Y40表示已打卡且运动时间为40分钟。积分奖励规则如下:
①运动时间1至30分钟内加3分,30分钟及以上加5分;
②当天已打卡加1分,否则为0分。
定义函数sumx(x),参数x为一天的打卡情况,函数功能为根据x计算积分,并返回结果。
def sumx(x):
s=0
x1=x[0]
x2=int(x[1:])
return s
为实现该功能,加框处的代码为( )
A.if x1=="Y":
s+=1
if x2>=30:
s+=5
elif 0 < x2 < 30:
s+=3
B.if x2>=30:
s+=5
else:
s+=3
if x1=="Y":
s+=1
C.if x1=="Y":
s+=1
elif x2>=30:
s+=5
elif 0<x2<30:
s+=3
D.if x1=="Y":
s+=1
if x2>=30:
s+=5
if x2>0:
s+=3
A. A B. B C. C D. D
【答案】A
【解析】
【详解】本题考查的是Python分支语句。
选项 A: 首先判断if x1=="Y": s += 1 ,满足规则②中已打卡加 1 分的逻辑。 然后判断运动时间,if x2>=30: s += 5 ,满足运动时间 30 分钟及以上加 5 分;elif 0<x2<=30: s += 3 ,满足运动时间 1 至 30 分钟内加 3 分的逻辑。该选项符合要求。
选项 B: 先判断运动时间,再判断是否打卡,不符合先判断打卡(规则② ),再判断运动时间(规则① )的逻辑顺序,会导致积分计算错误。例如,如果先判断运动时间,此时还未处理打卡的 1 分,逻辑混乱。该选项不符合要求。
选项 C:elif需要和前面的if形成正确的条件判断链,这里逻辑断裂,无法正确衔接 “打卡分判断” 与 “时间分判断”。
选项 D: if x2>0: s += 3 ,当 x2=40 (大于 30 )时,按照规则应该加 5 分,但这里会错误地再加 3 分,无法正确区分运动时间 30 分钟及以上和 1−30 分钟的情况。该选项不符合要求。
故选A。
13. 为增强学生的体质,某校设置学生运动打卡积分奖励机制。学生一天的打卡情况由是否打卡(已打卡为Y,未打卡为N)和运动时间(单位:分钟)组成,如Y40表示已打卡且运动时间为40分钟。积分奖励规则如下:
①运动时间1至30分钟内加3分,30分钟及以上加5分;
②当天已打卡加1分,否则为0分。
定义函数sumx(x),参数x为一天的打卡情况,函数功能为根据x计算积分,并返回结果。调用函数sumx(x),现要统计一周积分情况的代码如下:
record="Y35Y40N5Y15N37Y8Y26"
day=record[0]
score=0
for i in range(1,len(record)):
if "0"<=record[i]<="9":
day=day+record[i]
else:
score+=sumx(day)
print("本周的累计积分为:",score)
加框处的代码,由以下三个部分组成:
①score=score+d ②d=sumx(day) ③day=record[i]
下列选项中,代码顺序正确的是( )
A. ①②③ B. ③②① C. ②①③ D. ③①②
【答案】C
【解析】
【详解】本题考查的是字符串处理。进入else时,day存储的是上一天完整的打卡信息(比如前面遍历收集好的Y35 ),所以正确流程是: 先计算上一天的积分:d = sumx(day) (这一步用的是进入else前的day ,也就是上一天完整数据 ) 把这一天积分加到总得分:score = score + d 然后把day更新为当前遇到的字符(开启新一天数据收集 ):day = record[i],故选C。
14. 有如下Python程序段:
text="Science"
idx=[6,1,0,4]
res=""
for i in idx:
res=res+text[i]
print(res)
执行该程序后,输出的结果是( )
A. ecnS B. cSSe C. eSiS D. ecSn
【答案】D
【解析】
【详解】本题考查的是循环语句。text = "Science",字符串索引从0开始,idx = [6, 1, 0, 4],循环遍历该列表:
当 i = 6 时,text[6] ‘e’,res 变为 "e"
当 i = 1 时,text[1] 为 ‘c’,res 变为 "ec"
当 i = 0 时,text[0] 为 ‘S’,res 变为 "ecS"
当 i = 4 时,text[4] 为 ‘n’,res 变为 "ecSn"
最终 print(res) 输出 "ecSn",与选项 D 一致,故选D。
二、非选择题(本大题共2小题,其中第15小题10分,第16小题12分,共22分)
15. 某商场举行幸运抽奖活动,每位进入商场的顾客都可以获得一个由四位数字组成的号码,商场随机抽取一个数字作为幸运数字,当顾客号码的各位数字之和与幸运数字相同,即表示中奖,并获得对应的积分个数。例如:幸运数字为12,某顾客的号码为2019,该号码各位数之和为2+0+1+9=12,与幸运数字相同,则该顾客获得2019个积分。
编写Python程序,输入幸运数字,及发放的最小、最大号码,统计并输出获奖总人数、奖励积分最多和最少的获奖号码。运行界面及调试结果如下:
(1)若幸运数字为21,号码为7653的顾客是否中奖▲___(填:是 / 否)。
(2)完成该程序的代码如下,请在划线处填入合适的代码
def sumv(x):
s=0
k=x
while k>0:
s=s+k%10
k=①_____
return s
n=int(input("请输入幸运数字:"))
m1=int(input("请输入最小号码:"))
m2=int(input("请输入最大号码:"))
c=0
maxv,minv=m1,m2
print("获奖总人数:",c,",最多积分的号码:",maxv,",最少积分的号码:",minv)
(3)加框处所使用的算法是▲_____(单选,填字母:A.解析算法/ B.枚举算法)。
【答案】 ①. 是 ②. k//10 ③. sumv(i)==n ④. maxv=i ⑤. B
【解析】
【详解】本题考查的是循环语句的综合应用。
(1)计算7653各位数字之和:7+6+5+3=21,与幸运数字相同,因此中奖。
(2)①该函数用于计算数字x的各位数之和,需要不断去除k的最后一位,因此用k整除10,故此处应为:k//10;②判断号码i的各位数字之和是否等于幸运数字n,故此处应为:sumv(i)==n;③更新最大积分的号码,因为i的积分就是i本身,更大的i表示更多积分,故此处应为:maxv=i。
(3)程序中通过遍历所有可能的号码来筛选符合条件的,属于枚举算法。故选B。
16. 小王设计了一款简易的图书借阅管理系统,该系统具有图书的借阅与归还、按关键词查询图书、统计借阅排行榜等功能。每位同学最多可同时借阅5本书,若借满5本时再借新书,需归还已借图书。
(1)每次借还记录存储在列表中,列表每个元素由卡号、类别、书名、借还状态(1为在借,0为已归还)组成。某同学的借还记录为:[["1001","计算机","Python入门", 1],["1001","文学","我是猫",1],["1001","文学","红楼梦",1],["1001","文学","我是猫",0],["1001","科普","三分钟宇宙",1],["1001","文学","红楼梦",0],["1001","科幻","三体",1]],基于当前状态,还能借▲___本书。
(2)该系统有前缀匹配查询功能,即查询书名以关键字开头的图书,如输入关键词"Python",即查询书名以"Python"开头的图书。定义函数check(key,name)以实现该功能,并返回判断结果,参数key为关键字,参数name为书名。
def check(key,name):
return True
下列选项中的代码填入加框处后,能实现该功能的有▲___(多选,填字母)。
Afor i in range(len(key)):
if name[i]!=key[i]:
return False
B.for i in range(len(name)):
if name[i]!=key[i]:
return False
C.if key[:len(name)]!=name:
return False
D.if name[:len(key)]!=key:
return False
(3)系统可按类别输出借阅次数从高到低排名前5的图书,程序运行结果如图所示。实现该功能的部分Python程序如下,请在划线处填入合适的代码。
def topbook(top, lst):
# 该函数的功能为找出列表lst中借阅次数从高到低排名前top的图书,并返回图书列表信息,参数lst为某一类别的所有图书信息。
result=[]
used=[0] * len(lst)
①______
while c<top:
maxi=-1
for i in range(len(lst)):
if used[i]==1:
continue # 结束本次循环,直接进入下一次
if maxi==-1 or lst[i][2]>lst[maxi][2]:
maxi=i
if maxi!=-1:
result.append(lst[maxi]) # 为result追加一个元素lst[maxi]
②______
c+=1
else:
break # 结束循环
return③______
top=5 # 借阅次数排名前5
ctg=input("请输入要检索的书本类别:")
# 读取所有书本信息,将书本类别为ctg的数据存储在列表lst中,lst的每个元素由类别、书名、借阅次数组成,如lst为[["文学","红楼梦",44],["文学","我是猫",41]...],代码略
result=topbook(top, lst)
for r in result:
print("书名:", ④______,",借阅次数:", r[2])
【答案】 ①. 2 ②. AD ③. c=0 ④. used[maxi]=1 ⑤. result ⑥. r[1]
【解析】
【详解】本题考查的是数组的应用。
(1)当前在借图书:Python入门、三分钟宇宙、三体(共3本) 最多可借5本,因此还能借:5-3=2本。 答案:2。
(2)A. 正确,逐个比较key的每个字符;B. 错误,使用name长度会超出key范围 ;C. 错误 ,切片方向错了,应该是name[:len(key)] ;D. 正确,直接切片比较name的前len(key)个字符。答案:AD。
(3)① 循环前需要初始化计数器:c=0 ② 找到最大借阅量图书后标记为已使用:used[maxi]=1 ③ 函数返回排序结果:result ④ 打印结果时显示书名:r[1](lst元素格式为[类别,书名,借阅次数])。
第1页/共1页
学科网(北京)股份有限公司
$$
丽水市2024学年第二学期普通高中教学质量监控
高一技术试题卷 2025.06
本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
注意事项:
1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
第一部分 信息技术(50分)
一、选择题(本大题共14小题,每小题2分,共28分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1. 某校餐厅引入智慧管理系统,学生可在自助点餐机上选取菜品,菜品信息以文本、图像、视频等格式存储。系统通过摄像头采集人脸图像,与数据库中预存的人脸信息进行比对,完成刷脸支付,并语音播报支付信息。同时该系统还支持扫码付款、每日消费数据统计等功能。下列关于数据与信息的说法,正确的是( )
A. 历史消费数据不存在价值
B. 菜品信息的表现形式只能是图像
C. 信息经过加工处理可具有更高的价值
D. 同一信息只能依附同一载体
2. 某校餐厅引入智慧管理系统,学生可在自助点餐机上选取菜品,菜品信息以文本、图像、视频等格式存储。系统通过摄像头采集人脸图像,与数据库中预存的人脸信息进行比对,完成刷脸支付,并语音播报支付信息。同时该系统还支持扫码付款、每日消费数据统计等功能。下列关于该系统数据管理与数据安全的说法,不正确的是( )
A. 加密人脸数据可提升数据的安全性
B. 不同格式的数据必须保存在不同的存储设备中
C. 菜品图像是非结构化数据
D. 为保护系统数据安全,数据存储可采用磁盘阵列
3. 某校餐厅引入智慧管理系统,学生可在自助点餐机上选取菜品,菜品信息以文本、图像、视频等格式存储。系统通过摄像头采集人脸图像,与数据库中预存的人脸信息进行比对,完成刷脸支付,并语音播报支付信息。同时该系统还支持扫码付款、每日消费数据统计等功能。下列关于该系统中数据采集与编码的说法,不正确的是( )
A. 预存人脸图像可通过摄像头采集
B. 系统播报支付信息是数字信号转化成模拟信号的过程
C. 消费数据在计算机中以十六进制形式存储
D. 识别二维码是数据解码的过程
4. 某学校共有3个年级,每个年级有10个班,各班学生人数在35至40之间。现用 12位二进制编码来唯一标识每一位学生,下列二进制位标识分配方案可行的是( )
A.
B
C.
D.
A. A B. B C. C D. D
5. 下列关于大数据的说法,正确的是( )
A. 对大数据进行处理时,必须保证每个数据都准确无误
B. 大数据给生活带来便利的同时也会带来新的社会问题
C. 大数据数据量大,处理速度慢
D. 大数据更注重事物间的因果关系
6. 某图像文件属性如图所示,该图像所占的存储空间约为( )
A. 12KB B. 1.5KB C. 384KB D. 1536KB
7. 某算法的部分流程图如图所示,若输入m=36,n=24,执行该部分流程图后,输出m的值为( )
A. 6 B. 72 C. 12 D. 24
8. 若变量a=2,b=3,c=4,则运算表达式b**2//c+a*b的值是( )
A. 9 B. 8 C. 7 D. 6
9. 某个时间点的值存储在变量t中,如t="2025-03-01 17:15:18",现要提取月份到变量m中,下列选项正确的是( )
A m=t[5:7] B. m=t[5:6] C. m=t[6:8] D. m=t[6:7]
10. 已知字典ACI存储了部分大写字母的ASCII值,若ACI={"A":65,"B":66,"C":67,"D":68},则访问字典中"C"的ASCII值的表达式是( )
A. ACI[3] B. ACI["C"] C. ACI{"C"} D. ACI[C]
11. 为增强学生的体质,某校设置学生运动打卡积分奖励机制。学生一天的打卡情况由是否打卡(已打卡为Y,未打卡为N)和运动时间(单位:分钟)组成,如Y40表示已打卡且运动时间为40分钟。积分奖励规则如下:
①运动时间1至30分钟内加3分,30分钟及以上加5分;
②当天已打卡加1分,否则为0分。
如下伪代码的功能为计算一名学生一天的积分情况
某学生某天已打卡,运动时间为40分钟,则积分为( )
A. 6 B. 5 C. 4 D. 3
12. 为增强学生的体质,某校设置学生运动打卡积分奖励机制。学生一天的打卡情况由是否打卡(已打卡为Y,未打卡为N)和运动时间(单位:分钟)组成,如Y40表示已打卡且运动时间为40分钟。积分奖励规则如下:
①运动时间1至30分钟内加3分,30分钟及以上加5分;
②当天已打卡加1分,否则为0分。
定义函数sumx(x),参数x为一天的打卡情况,函数功能为根据x计算积分,并返回结果。
def sumx(x):
s=0
x1=x[0]
x2=int(x[1:])
return s
为实现该功能,加框处的代码为( )
A.if x1=="Y":
s+=1
if x2>=30:
s+=5
elif 0 < x2 < 30:
s+=3
B.if x2>=30:
s+=5
else:
s+=3
if x1=="Y":
s+=1
C.if x1=="Y":
s+=1
elif x2>=30:
s+=5
elif 0<x2<30:
s+=3
D.if x1=="Y":
s+=1
if x2>=30:
s+=5
if x2>0:
s+=3
A. A B. B C. C D. D
13. 为增强学生的体质,某校设置学生运动打卡积分奖励机制。学生一天的打卡情况由是否打卡(已打卡为Y,未打卡为N)和运动时间(单位:分钟)组成,如Y40表示已打卡且运动时间为40分钟。积分奖励规则如下:
①运动时间1至30分钟内加3分,30分钟及以上加5分;
②当天已打卡加1分,否则为0分。
定义函数sumx(x),参数x为一天的打卡情况,函数功能为根据x计算积分,并返回结果。调用函数sumx(x),现要统计一周积分情况的代码如下:
record="Y35Y40N5Y15N37Y8Y26"
day=record[0]
score=0
for i in range(1,len(record)):
if "0"<=record[i]<="9":
day=day+record[i]
else:
score+=sumx(day)
print("本周的累计积分为:",score)
加框处的代码,由以下三个部分组成:
①score=score+d ②d=sumx(day) ③day=record[i]
下列选项中,代码顺序正确的是( )
A. ①②③ B. ③②① C. ②①③ D. ③①②
14. 有如下Python程序段:
text="Science"
idx=[6,1,0,4]
res=""
for i in idx:
res=res+text[i]
print(res)
执行该程序后,输出的结果是( )
A. ecnS B. cSSe C. eSiS D. ecSn
二、非选择题(本大题共2小题,其中第15小题10分,第16小题12分,共22分)
15. 某商场举行幸运抽奖活动,每位进入商场的顾客都可以获得一个由四位数字组成的号码,商场随机抽取一个数字作为幸运数字,当顾客号码的各位数字之和与幸运数字相同,即表示中奖,并获得对应的积分个数。例如:幸运数字为12,某顾客的号码为2019,该号码各位数之和为2+0+1+9=12,与幸运数字相同,则该顾客获得2019个积分。
编写Python程序,输入幸运数字,及发放的最小、最大号码,统计并输出获奖总人数、奖励积分最多和最少的获奖号码。运行界面及调试结果如下:
(1)若幸运数字为21,号码为7653的顾客是否中奖▲___(填:是 / 否)。
(2)完成该程序的代码如下,请在划线处填入合适的代码
def sumv(x):
s=0
k=x
while k>0:
s=s+k%10
k=①_____
return s
n=int(input("请输入幸运数字:"))
m1=int(input("请输入最小号码:"))
m2=int(input("请输入最大号码:"))
c=0
maxv,minv=m1,m2
print("获奖总人数:",c,",最多积分的号码:",maxv,",最少积分的号码:",minv)
(3)加框处所使用的算法是▲_____(单选,填字母:A.解析算法/ B.枚举算法)。
16. 小王设计了一款简易的图书借阅管理系统,该系统具有图书的借阅与归还、按关键词查询图书、统计借阅排行榜等功能。每位同学最多可同时借阅5本书,若借满5本时再借新书,需归还已借图书。
(1)每次借还记录存储在列表中,列表每个元素由卡号、类别、书名、借还状态(1为在借,0为已归还)组成。某同学的借还记录为:[["1001","计算机","Python入门", 1],["1001","文学","我是猫",1],["1001","文学","红楼梦",1],["1001","文学","我是猫",0],["1001","科普","三分钟宇宙",1],["1001","文学","红楼梦",0],["1001","科幻","三体",1]],基于当前状态,还能借▲___本书。
(2)该系统有前缀匹配查询功能,即查询书名以关键字开头的图书,如输入关键词"Python",即查询书名以"Python"开头的图书。定义函数check(key,name)以实现该功能,并返回判断结果,参数key为关键字,参数name为书名。
def check(key,name):
return True
下列选项中的代码填入加框处后,能实现该功能的有▲___(多选,填字母)。
A.for i in range(len(key)):
if name[i]!=key[i]:
return False
B.for i in range(len(name)):
if name[i]!=key[i]:
return False
C.if key[:len(name)]!=name:
return False
D.if name[:len(key)]!=key:
return False
(3)系统可按类别输出借阅次数从高到低排名前5的图书,程序运行结果如图所示。实现该功能的部分Python程序如下,请在划线处填入合适的代码。
def topbook(top lst):
# 该函数功能为找出列表lst中借阅次数从高到低排名前top的图书,并返回图书列表信息,参数lst为某一类别的所有图书信息。
result=[]
used=[0] * len(lst)
①______
while c<top:
maxi=-1
for i in range(len(lst)):
if used[i]==1:
continue # 结束本次循环,直接进入下一次
if maxi==-1 or lst[i][2]>lst[maxi][2]:
maxi=i
if maxi!=-1:
result.append(lst[maxi]) # 为result追加一个元素lst[maxi]
②______
c+=1
else:
break # 结束循环
return③______
top=5 # 借阅次数排名前5
ctg=input("请输入要检索的书本类别:")
# 读取所有书本信息,将书本类别为ctg的数据存储在列表lst中,lst的每个元素由类别、书名、借阅次数组成,如lst为[["文学","红楼梦",44],["文学","我是猫",41]...],代码略
result=topbook(top, lst)
for r in result:
print("书名:", ④______,",借阅次数:", r[2])
第1页/共1页
学科网(北京)股份有限公司
$$