精品解析:浙江省宁波市九校2024-2025学年高一下学期期末联考技术试题-高中信息技术

标签:
精品解析文字版答案
2025-07-01
| 2份
| 20页
| 198人阅读
| 3人下载

资源信息

学段 高中
学科 信息技术
教材版本 -
年级 高一
章节 -
类型 试卷
知识点 -
使用场景 同步教学-期末
学年 2025-2026
地区(省份) 浙江省
地区(市) 宁波市
地区(区县) -
文件格式 ZIP
文件大小 457 KB
发布时间 2025-07-01
更新时间 2025-07-01
作者 学科网试题平台
品牌系列 -
审核时间 2025-07-01
下载链接 https://m.zxxk.com/soft/52819645.html
价格 4.00储值(1储值=1元)
来源 学科网

内容正文:

宁波市2023学年第二学期期末九校联考高一技术试题 第一部分:信息技术 一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分) 1. 扫地机器人可便利人们的生活,它可通过语音或手机APP控制实现人机交互。扫地机器人依赖多种传感器协同工作,以实现智能导航、避障、清洁和自我保护,其中自我保护功能是通过智能分析达到防跌落、防卡死、防迷路等功能。关于扫地机器人使用中需要的数据和信息,以下说法正确的是( ) A. 扫地机器人通过传感器采集的数据经过分析及解释后可获取信息 B. 扫地机器人中不同传感器采集的数据表现形式一定相同 C. 扫地机器人只能通过传感器获取信息 D. 扫地机器人获取的信息随着时间的变化不会发生改变 2. 扫地机器人可便利人们的生活,它可通过语音或手机APP控制实现人机交互。扫地机器人依赖多种传感器协同工作,以实现智能导航、避障、清洁和自我保护,其中自我保护功能是通过智能分析达到防跌落、防卡死、防迷路等功能。扫地机器人使用过程中,不涉及人工智能应用的是( ) A. 语音唤醒扫地机器人 B. 定时打开扫地机器人 C. 识别不同种类障碍物 D. 扫地机器人自我保护 3. 下列关于大数据的说法,正确的是( ) A. 大数据的价值密度高 B. 提高分析效率,对大数据分析时采用抽样数据 C. 文本数据处理时需要将文本从非结构化数据转为结构化数据 D. 大型购物网站对静态数据进行分析,从而实现实时广告推荐 4. 下列关于人工智能的说法,正确的是( ) A. 人工智能技术的发展只依赖于计算机技术 B. 深度学习方法一般脱离数据进行学习 C. “专家系统”是一种基于数据驱动的人工智能方法 D. 电商平台上,由人类客服与AI客服共同为顾客解决问题,属于混合增强智能 5. 下列关于数据管理与安全的说法,不正确的是( ) A. 计算机数据的管理已经经历了人工管理、文件管理、数据库管理三个阶段 B. 计算机中的数据都是经过一定规则编码后的二进制数字 C. 通过数据加密、数据校验等方法可提高数据的保密性和完整性 D. 常见的数据校验方法有磁盘阵列、数据备份及异地容灾 6. 下列关于数据编码的说法,正确的是( ) A. 使用数码相机拍照是数模转换的过程 B. 扫描二维码获取信息是解码的过程 C. 一幅1024*256、16色位图图像,其存储容量约为0.5MB D. 一本书籍约有87万个字符,若完全按GB2312进行编码则其存储容量约为0.21MB 7. 某算法流程图如图所示。若输入x为2,y为7,则该算法虚线框处循环体的循环次数不可能为( ) A. 3 B. 4 C. 5 D. 6 8. 下列Python表达式中,值为True的是( ) A. 7%3**7<6 B. "12"[::-1]<"123" C. abs(int(-4.9))>=14//3 D. len("pyth-on!")==6 9. 下列Python表达式中,不能表示为x属于区间[a,b]是( ) A. a<=x<=b B. x>=a and x<=b C. not(x<a and x>b) D. not(x<a or x>b) 10. 有如下Python程序段: key=[3,1,2];s=[4,5,6,7,8,9] for i in range(len(s)): j=i% len(key) s[i]=(s[i]+key[j])% 10 执行该程序段后,s的值为( ) A. [7,6,8,0,9,1] B. [7,6,8,10,9,1] C. [5,7,9,0,9,1] D. [5,7,9,8,0,2] 11. 有如下Python程序段: a='abcacdbcf' s=a[0];ans=' ';i=1;x=0 while i<len(a): while i<len(a) and a[i]>=s[x]: s=s+a[i] i=i+1;x=x+1 i=i+1 执行该程序段后,s的值为( ) A. abcccdf B. abccdf C. abcdcf D. abcdf 12. 列表a长度为20,如图所示,其中a[5]~a[14]元素分为前后两部分,前面部分连续若干个3,后面部分连续若干个4。 i 0 1 2 3 4 …… 15 16 17 18 19 a[i] 1 2 2 2 2 …… 5 5 5 5 5 i=1;x=1;f=True;ans=0 while i<len(a): if a[i]==a[i-1] and f==True: x=x-1;f=False elif a[i]==a[i-1] or a[i]!=a[i-1]: a[x]=a[i] x=x+1 f=True i=i+1 执行该程序段后,列表a[:x]中所有元素之和可能为( ) A. 15 B. 10 C. 9 D. 6 二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分) 13. 某班级进行抽奖活动,设置1等奖a人,2等奖b人,3等奖c人,规则如下: 1.每个学生随机抽取一个三位抽奖号码(每个号码唯一) 2.抽奖时随机抽取一个抽奖号码,持有与该号码完全相等的学生获奖;若当前获得该奖次的总人数小于该奖次设置人数,则与该号码末2位相等的人可获得相同奖次,号码大的优先得奖; 3学生不重复获奖 程序运行后的运行界面如图所示。实现算法的Python程序如下,回答下列问题: 1等奖获奖人数共2人,2等奖获奖人数共3人,3等奖获奖人数共5人 参与抽奖的号码为:['895','370','316','276','270','263','262','223','216','170','165','118','116','102','095','076','059','016','014','002'] 1等奖获奖号码为:['165','118'] 2等奖获奖号码为:['895','095(相等末2位)','216'] 3等奖获奖号码为:['116','316(相等末2位)','016(相等末2位)','370','270(相等末2位)'] (1)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。 from random import randint num=[2,3,5] #依次设置1等奖、2等奖、3等奖获奖人数 #获取每位学生号码并按号码降序排序,存在列表hm中,代码略 print("1等奖获奖人数共",num[0],"人,2等奖获奖人数共",num[1],"人,3等奖获奖人数共",num[2],"人") print("参与抽奖的号码为:",hm) n=len(hm)-1;f=[False]*len(hm) hj=[ ];j=0 while j<3: t=randint(0,n) while f[t]==True: #学生不重复获奖 t=randint(0,n) f[t]=True num[j]-=1 hj.append(hm[t]) for i in①____: if : f[i]=True num[j]-=1 hj.append(hm[i]+"(相等末2位)") if num[j]==0: print(j+1,"等奖获奖号码为:",hj) hj=[ ] ②_____ (2)程序实线加框处的代码有错,请改正_____ (3)若删除虚线框处代码,是否影响程序运行_______(填是/否)。 14. 某学校进行体测运动会。每人参加共三个项目的测试,项目对应值为1表示通过,为空表示未通过;小张收集了高一学生体测运动会的结果,学生的部分成绩数据如图a所示,体测中通过“项目三”且通过项目为2项及以上的学生为达标学生。 (1)观察图a中所示数据,数据中存在的问题是____(单选,填字母:A.数据重复B.格式不一致C.逻辑错误)。 (2)数据整理后,为统计达标学生人数最多前5个班级,并绘制如图b所示的柱形图,实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)。 import pandas as pd #导入pandas模块 import matplotlib.pyplot as plt #导入matplotlib的pyplot子模块 #读取如图a中的数据,保存到DataFrame对象df1中,代码略 df1=df [df.项目三==1] df2=①__ df2=②__ df2=③__ df2=④__ plt.bar(df2.index,df2.学号) #设置绘图参数,并显示如图b所示的柱形图,代码略 ①②③④处可选代码有: A.df[df.项目通过数>=2] #筛选 B.df1[df1.项目通过数>=2] C.df2.groupby("班级",as_index=False).sum() #分组求和 D.df2.groupby("班级").sum() E.df2.sort_values("项目二") #升序排序 F.df2.sort_values("学号") G.df2.tail(5) (3)小张观察绘制的柱形图,发现柱子高度差异不明显。小张查阅资料后,发现可通过ylim函数设置图中y轴范围,如ylim(a,b)表示y轴范围为a到b;若想让差异更明显,则可用语句____设置(单选,填字母)。 A.plt.ylim(0,100) B.plt.ylim(35,45) C.plt.ylim(40,45) 15. 将n张纸牌打乱后依次正面向上放置(可以看到纸牌点数),纸牌游戏每局规则如下: 1.设置key,key中包含若干点数。 2.玩家任选一个位置开始取牌(依次连续取牌),直至取的所有牌包含key中所有点数为止,(假设一定存在包含key中所有点数的取法),下一个玩家在剩余牌中取牌(剩余牌的先后顺序不变),规则同上;最终取牌数量少的玩家获胜,若数量相等则为平局。 3.若key中包含重复点数如key=['A','A','2'],则所取牌中至少要有2个'A',1个'2'。 小明与小红按照纸牌游戏规则进行比赛,小明先抽牌;小明为找出最少取牌数量起始及终止位置(若存在多种取法,取起始位置靠前的取法)编写python程序,程序运行后的结果如图所示。 纸牌放置顺序依次为:['7','A','3','2','3','7','3','A','7','3','2','2','7'] 需要包含的点数为:['2','3','7','7'] 要包含key中所有牌:建议可从第9张取到第13张 (1)以图所示为例,若小明按所示结果在纸牌中取牌,则小红取牌时至少应从第_____张取到第______张才能包含key中所有点数。 (2)函数counter(key),作用为统计key中每个值出现个数并返回。请在划线处填入合适的代码。 def counter(key): dic={} for i in key: if i not in dic: dic[i]=1 else: _______ return dic (3)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。 #获取纸牌放置顺序并存储到列表pai,获取列表key,代码略 print("纸牌放置顺序依次为:",pai) print("需要包含的点数为:",key) def pd(cur_dic,dic): for i in dic: if①______: return False return True wz=[ ] dic=counter(key) min_count=len(pai)+1 for i in range(len(pai)): #枚举从索引i开始取牌 for j in range(i,len(pai)): cur_dic=②_____#cur_dic用于存放当前范围的牌中每个值出现个数 if pd(cur_dic,dic)==True: #若当前范围的牌包含key中所有点数 if min_count>j-i+1: min_count=j-i+1 wz=[i,j] break print("要包含key中所有牌:建议可从第"+str(wz[0]+1)+"张取到第"+str(wz[1]+1)+"张") (4)对任意n张纸牌,小明作为先抽牌方,按照程序结果所给建议抽牌,是否可以不败_______(选填是/否)。 第1页/共1页 学科网(北京)股份有限公司 $$ 宁波市2023学年第二学期期末九校联考高一技术试题 第一部分:信息技术 一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分) 1. 扫地机器人可便利人们的生活,它可通过语音或手机APP控制实现人机交互。扫地机器人依赖多种传感器协同工作,以实现智能导航、避障、清洁和自我保护,其中自我保护功能是通过智能分析达到防跌落、防卡死、防迷路等功能。关于扫地机器人使用中需要的数据和信息,以下说法正确的是( ) A. 扫地机器人通过传感器采集的数据经过分析及解释后可获取信息 B. 扫地机器人中不同传感器采集的数据表现形式一定相同 C. 扫地机器人只能通过传感器获取信息 D. 扫地机器人获取的信息随着时间的变化不会发生改变 【答案】A 【解析】 【详解】本题考查的是数据与信息。选项A正确:扫地机器人通过传感器采集的数据是原始数据,这些数据经过内部算法的分析和解释后,才能转化为有用的信息,从而实现导航、避障等功能。选项B错误:不同传感器采集的数据表现形式不一定相同,传感器类型不同,数据格式各异。选项C错误:扫地机器人不仅通过传感器获取信息,还能通过外部输入获取信息。选项D错误:扫地机器人获取的信息会随时间变化。故选A。 2. 扫地机器人可便利人们的生活,它可通过语音或手机APP控制实现人机交互。扫地机器人依赖多种传感器协同工作,以实现智能导航、避障、清洁和自我保护,其中自我保护功能是通过智能分析达到防跌落、防卡死、防迷路等功能。扫地机器人使用过程中,不涉及人工智能应用的是( ) A. 语音唤醒扫地机器人 B. 定时打开扫地机器人 C. 识别不同种类障碍物 D. 扫地机器人自我保护 【答案】B 【解析】 【详解】本题考查的是人工智能的应用。语音唤醒扫地机器人:涉及语音识别技术,需通过AI分析声音特征来识别指令,属于人工智能应用。定时打开扫地机器人:基于预设时间表的简单自动化任务,仅依赖时钟触发机制,无需智能分析或学习,不涉及人工智能。识别不同种类障碍物:需使用传感器(如摄像头或激光雷达)结合模式识别算法,区分物体类型,属于计算机视觉或AI分类技术。扫地机器人自我保护:通过传感器数据智能分析环境(如防跌落、防卡死),实现自适应决策,属于人工智能应用。故选B。 3. 下列关于大数据的说法,正确的是( ) A. 大数据的价值密度高 B. 为提高分析效率,对大数据分析时采用抽样数据 C. 文本数据处理时需要将文本从非结构化数据转为结构化数据 D. 大型购物网站对静态数据进行分析,从而实现实时广告推荐 【答案】C 【解析】 【详解】本题考查的是大数据。选项A说法错误,大数据的价值密度通常较低,因为数据量巨大,但其中有价值的信息比例较小。选项B说法错误,在处理大数据时,虽然抽样方法有时用于初步探索或效率提升,但大数据的核心优势在于分析全量数据,以发现隐藏模式和趋势,抽样可能导致重要信息遗漏,不适用于需要全面分析的场景。选项C说法正确,文本数据属于非结构化数据,缺乏固定格式,为了便于计算机处理和分析,通常需要将其转换为结构化数据,例如通过分词、特征提取等技术实现转换。选项D说法错误,静态数据是固定不变的历史数据,而实时广告推荐需要处理动态数据,强调高速处理,大型购物网站通常使用流数据处理技术实现实时推荐,而非依赖静态数据。故选C。 4. 下列关于人工智能的说法,正确的是( ) A. 人工智能技术的发展只依赖于计算机技术 B. 深度学习方法一般脱离数据进行学习 C. “专家系统”是一种基于数据驱动的人工智能方法 D. 电商平台上,由人类客服与AI客服共同为顾客解决问题,属于混合增强智能 【答案】D 【解析】 【详解】本题考查的是人工智能。选项A错误:人工智能技术的发展不仅依赖于计算机技术,还涉及数学、统计学、认知科学、数据科学等多个领域。选项B错误:深度学习方法是机器学习的一种,其核心是通过大量数据进行训练和学习,从而提取特征和模式。没有数据,深度学习无法进行有效学习,因此“脱离数据”的说法不正确。选项C错误:专家系统是一种基于规则和知识库的人工智能方法,它依赖人类专家的经验知识(如规则推理),而非数据驱动。数据驱动的方法主要指机器学习(如决策树、神经网络),它们从数据中自动学习模式。选项D正确:混合增强智能强调人类智能与人工智能的协同工作。在电商平台场景中,人类客服处理复杂或情感化问题,AI客服处理标准化查询(如订单跟踪),两者结合提升效率,符合混合增强智能的定义。故选D。 5. 下列关于数据管理与安全的说法,不正确的是( ) A. 计算机数据的管理已经经历了人工管理、文件管理、数据库管理三个阶段 B. 计算机中的数据都是经过一定规则编码后的二进制数字 C. 通过数据加密、数据校验等方法可提高数据的保密性和完整性 D. 常见的数据校验方法有磁盘阵列、数据备份及异地容灾 【答案】D 【解析】 【详解】本题考查数据管理与安全。A 选项:计算机数据管理的确经历了人工管理、文件管理、数据库管理这三个阶段,每个阶段都有其独特的特点和发展背景,是数据管理发展的重要历程。B 选项:在计算机中,所有数据都是以二进制形式存在的,并且是经过一定规则编码后的二进制数字,这是计算机存储和处理数据的基本方式。C 选项:数据加密可以防止数据被非法获取和读取,提高数据的保密性;数据校验能够检查数据在传输和存储过程中是否出现错误,保证数据的完整性,所以通过这些方法可有效提高数据的保密性和完整性。D 选项:常见的数据校验方法主要有奇偶校验、循环冗余校验(CRC)等,而磁盘阵列、数据备份及异地容灾属于数据备份与恢复以及容灾的措施,并非数据校验方法。因此,本题选择 D 选项。 6. 下列关于数据编码的说法,正确的是( ) A. 使用数码相机拍照是数模转换的过程 B. 扫描二维码获取信息是解码的过程 C. 一幅1024*256、16色位图图像,其存储容量约为0.5MB D. 一本书籍约有87万个字符,若完全按GB2312进行编码则其存储容量约为0.21MB 【答案】B 【解析】 【详解】本题考查的是编码。选项A说法错误,数码相机拍照时,将模拟信号(光线)转换为数字信号,这一过程称为模数转换(ADC),而不是数模转换(DAC)。选项B说法正确,扫描二维码时,设备通过图像识别和解析,将图形还原为原始信息,这一过程属于解码。选项C说法错误,一幅1024*256、16色位图图像(16色,表示每个像素需4位),其存储容量:1024*256*4/(8*1024*1024)=0.125MB。选项D说法错误,GB2312 编码:每个字符占 2 字节(双字节字符集),总字节数 = 870000 字符 × 2 字节/字符 = 1740000 字节。转换为 MB:1740000 ÷ 1024÷1024 ≈ 1.659 MB。故选B。 7. 某算法流程图如图所示。若输入x为2,y为7,则该算法虚线框处循环体的循环次数不可能为( ) A. 3 B. 4 C. 5 D. 6 【答案】B 【解析】 【详解】本题考查的是流程图识读。初始值:x=2,y=7。算法循环体的执行条件为 x ≥ 0 且 x ≤ 7。每次循环中,x 会随机加 1 或减 1。分析如下: 初始值:x=2,y=7。 循环结束条件:x <0 或 x> 7。 可能的循环次数: 3 次:连续减 1 三次(2→1→0→-1),第 3 次循环后 x=-1,跳出循环。 4 次:无论如何变化,4 次操作无法使 x 超出 [0,7] 范围。例如: 若全加 1,x=6(仍在范围内)。 若全减 1,x=-2,但第 3 次已减到 x=-1,循环提前结束。 5 次:例如加 1 一次(2→3),减 1 四次(3→2→1→0→-1),第 5 次循环后 x=-1,跳出循环。 6 次:全加 1(2→3→4→5→6→7→8),第 6 次后 x=8,跳出循环。 故选B。 8. 下列Python表达式中,值为True的是( ) A. 7%3**7<6 B. "12"[::-1]<"123" C. abs(int(-4.9))>=14//3 D. len("pyth-on!")==6 【答案】C 【解析】 【详解】本题考查的是Python表达式。7%3**7<6→7%2187<6→7<6→False。"12"[::-1]<"123"→"21"<"123"→False。abs(int(-4.9)) >= 14//3→abs(-4) >= 4→4 >= 4→True。len("pyth-on!")==6→8==6→False。故选C。 9. 下列Python表达式中,不能表示为x属于区间[a,b]的是( ) A. a<=x<=b B. x>=a and x<=b C. not(x<a and x>b) D. not(x<a or x>b) 【答案】C 【解析】 【详解】本题考查 Python 表达式。A 选项:a <= x <= b 是 Python 特有的连续比较语法,直接表示 x 属于闭区间 [a, b]。B 选项:x >= a and x <= b 通过逻辑与连接两个条件,等价于 A 选项,同样表示 x 属于闭区间 [a, b]。C 选项:not(x < a and x > b) 的内层条件 x < a and x > b 恒为假(x 不可能同时小于 a 且大于 b),取反后恒为真。因此该表达式无法正确表示 x 的区间约束。D 选项:not(x < a or x > b) 的内层条件 x < a or x > b 表示 x 在区间 [a, b] 之外,取反后即表示 x 属于闭区间 [a, b]。因此,本题选择 C 选项。 10. 有如下Python程序段: key=[3,1,2];s=[4,5,6,7,8,9] for i in range(len(s)): j=i% len(key) s[i]=(s[i]+key[j])% 10 执行该程序段后,s的值为( ) A. [7,6,8,0,9,1] B. [7,6,8,10,9,1] C. [5,7,9,0,9,1] D. [5,7,9,8,0,2] 【答案】A 【解析】 【详解】本题考查的是python循环语句的应用。该程序段的作用是:使用列表 key = [3, 1, 2] 对列表 s = [4, 5, 6, 7, 8, 9] 进行循环加密,加密规则是:对 s 的每个元素加上 key 中对应位置的值(key 循环使用),然后取模 10(保留个位数)。j = i % len(key):因为 len(key) = 3,所以 j 的值按 0, 1, 2, 0, 1, 2 循环。 对应的 key[j] 值:key[0]=3、key[1]=1、key[2]=2、key[0]=3、key[1]=1、key[2]=2。 当 i=0:s[0] = (4 + 3) % 10 = 7 % 10 = 7 当 i=1:s[1] = (5 + 1) % 10 = 6 % 10 = 6 当 i=2:s[2] = (6 + 2) % 10 = 8 % 10 = 8 当 i=3:s[3] = (7 + 3) % 10 = 10 % 10 = 0 当 i=4:s[4] = (8 + 1) % 10 = 9 % 10 = 9 当 i=5:s[5] = (9 + 2) % 10 = 11 % 10 = 1 故选A。 11 有如下Python程序段: a='abcacdbcf' s=a[0];ans=' ';i=1;x=0 while i<len(a): while i<len(a) and a[i]>=s[x]: s=s+a[i] i=i+1;x=x+1 i=i+1 执行该程序段后,s的值为( ) A. abcccdf B. abccdf C. abcdcf D. abcdf 【答案】B 【解析】 【详解】本题考查的是字符串处理。程序通过双重循环构建字符串 s:外部循环遍历字符串 a。 内部循环追加字符:仅当 a[i] ≥ s 的当前最后一个字符(由 s[x] 表示)时,才将 a[i] 追加到 s。 如果条件不满足,i 增加 1(跳过该字符),不追加。 最终 s 包含索引为 0、1、2、4、5、8 的字符(即 'a'、'b'、'c'、'c'、'd'、'f'),形成 'abccdf'。故选B。 12. 列表a长度为20,如图所示,其中a[5]~a[14]元素分为前后两部分,前面部分连续若干个3,后面部分连续若干个4。 i 0 1 2 3 4 …… 15 16 17 18 19 a[i] 1 2 2 2 2 …… 5 5 5 5 5 i=1;x=1;f=True;ans=0 while i<len(a): if a[i]==a[i-1] and f==True: x=x-1;f=False elif a[i]==a[i-1] or a[i]!=a[i-1]: a[x]=a[i] x=x+1 f=True i=i+1 执行该程序段后,列表a[:x]中所有元素之和可能为( ) A. 15 B. 10 C. 9 D. 6 【答案】D 【解析】 【详解】本题考查的是python循环语句及选择语句的应用。程序的作用是去除连续的重复元素,x表示新列表的长度,a[:x]是去重后的列表。假设a[5]到a[14]中有k个3和(10 - k)个4。 如果k是奇数: 2的连续部分会被完全去除,3、4的连续部分会被部分去重,a[:x]=[1,3,4,5],元素之和为13。 如果k是偶数: 2、3、4的连续部分会被完全去重,a[:x]=[1,5],元素之和为6。故选D。 二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分) 13. 某班级进行抽奖活动,设置1等奖a人,2等奖b人,3等奖c人,规则如下: 1.每个学生随机抽取一个三位抽奖号码(每个号码唯一) 2.抽奖时随机抽取一个抽奖号码,持有与该号码完全相等的学生获奖;若当前获得该奖次的总人数小于该奖次设置人数,则与该号码末2位相等的人可获得相同奖次,号码大的优先得奖; 3.学生不重复获奖 程序运行后的运行界面如图所示。实现算法的Python程序如下,回答下列问题: 1等奖获奖人数共2人,2等奖获奖人数共3人,3等奖获奖人数共5人 参与抽奖的号码为:['895','370','316','276','270','263','262','223','216','170','165','118','116','102','095','076','059','016','014','002'] 1等奖获奖号码为:['165','118'] 2等奖获奖号码为:['895','095(相等末2位)','216'] 3等奖获奖号码为:['116','316(相等末2位)','016(相等末2位)','370','270(相等末2位)'] (1)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。 from random import randint num=[2,3,5] #依次设置1等奖、2等奖、3等奖获奖人数 #获取每位学生号码并按号码降序排序,存在列表hm中,代码略 print("1等奖获奖人数共",num[0],"人,2等奖获奖人数共",num[1],"人,3等奖获奖人数共",num[2],"人") print("参与抽奖号码为:",hm) n=len(hm)-1;f=[False]*len(hm) hj=[ ];j=0 while j<3: t=randint(0,n) while f[t]==True: #学生不重复获奖 t=randint(0,n) f[t]=True num[j]-=1 hjappend(hm[t]) for i in①____: if : f[i]=True num[j]-=1 hj.append(hm[i]+"(相等末2位)") if num[j]==0: print(j+1,"等奖获奖号码为:",hj) hj=[ ] ②_____ (2)程序实线加框处的代码有错,请改正_____ (3)若删除虚线框处代码,是否影响程序运行_______(填是/否)。 【答案】 ①. range(len(hm)) ②. j=j+1 ③. hm[t][1:]==hm[i][1:] and f[i]==False或hm[t][1:]==hm[i][1:] and f[i]!=True或其它等价答案 ④. 是 【解析】 【详解】本题考查的是字符串处理。 (1)①这里需要遍历所有学生的抽奖号码,检查是否有与当前中奖号码末两位相同的号码,故此次应为:range(len(hm));②当某个奖级的获奖人数满足设置人数后,需要进入下一个奖级的抽奖 j += 1使循环变量j递增,进入下一轮循环处理下一个奖级,故此次应为:j=j+1。 (2)题目要求“末2位相等”且“号码大的优先”(已通过降序排序保证),且学生不能重复获奖。故应该为:hm[t][1:]==hm[i][1:] and f[i]==False或hm[t][1:]==hm[i][1:] and f[i]!=True或其它等价答案 (3)虚线框代码是 if num[j]==0:break,删除后会影响程序运行,因为当该奖次人数已满时,程序无法及时跳出循环,可能导致重复添加获奖者。 14. 某学校进行体测运动会。每人参加共三个项目的测试,项目对应值为1表示通过,为空表示未通过;小张收集了高一学生体测运动会的结果,学生的部分成绩数据如图a所示,体测中通过“项目三”且通过项目为2项及以上的学生为达标学生。 (1)观察图a中所示数据,数据中存在的问题是____(单选,填字母:A.数据重复B.格式不一致C.逻辑错误)。 (2)数据整理后,为统计达标学生人数最多的前5个班级,并绘制如图b所示的柱形图,实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)。 import pandas as pd #导入pandas模块 import matplotlib.pyplot as plt #导入matplotlib的pyplot子模块 #读取如图a中的数据,保存到DataFrame对象df1中,代码略 df1=df [df.项目三==1] df2=①__ df2=②__ df2=③__ df2=④__ plt.bar(df2.index,df2.学号) #设置绘图参数,并显示如图b所示的柱形图,代码略 ①②③④处可选代码有: Adf[df.项目通过数>=2] #筛选 B.df1[df1.项目通过数>=2] C.df2.groupby("班级",as_index=False).sum() #分组求和 D.df2.groupby("班级").sum() E.df2.sort_values("项目二") #升序排序 F.df2.sort_values("学号") G.df2.tail(5) (3)小张观察绘制的柱形图,发现柱子高度差异不明显。小张查阅资料后,发现可通过ylim函数设置图中y轴范围,如ylim(a,b)表示y轴范围为a到b;若想让差异更明显,则可用语句____设置(单选,填字母)。 A.plt.ylim(0,100) B.plt.ylim(35,45) C.plt.ylim(40,45) 【答案】 ①. C ②. B ③. D ④. F ⑤. G ⑥. B 【解析】 【详解】本题考查的是数据分析。 (1)学号为1248的学生,项目通过数为4与总项目数3相矛盾,故选C。 (2)首先筛选出通过“项目三”的学生(df1 = df[df.项目三 == 1])。①接着筛选出通过项目数≥2的学生(df2 = df1[df1.项目通过数 >= 2],对应选项B)。②按班级分组并求和(df2 = df2.groupby("班级").sum(),对应选项D,因为需要重置索引)。③对数据进行排序(df2 = df2.sort_values("学号"),对应选项F)。④取前5名(df2 = df2.tail(5),对应选项G,因为默认升序排序后取尾部是最大值)。 (3)缩小y轴范围(如35到45)可以放大差异。A的范围(0到100)太宽,差异不明显。C的范围(40到45)可能过窄,部分数据可能被截断。故选B。 15. 将n张纸牌打乱后依次正面向上放置(可以看到纸牌点数),纸牌游戏每局规则如下: 1.设置key,key中包含若干点数。 2.玩家任选一个位置开始取牌(依次连续取牌),直至取的所有牌包含key中所有点数为止,(假设一定存在包含key中所有点数的取法),下一个玩家在剩余牌中取牌(剩余牌的先后顺序不变),规则同上;最终取牌数量少的玩家获胜,若数量相等则为平局。 3.若key中包含重复点数如key=['A','A','2'],则所取牌中至少要有2个'A',1个'2'。 小明与小红按照纸牌游戏规则进行比赛,小明先抽牌;小明为找出最少取牌数量的起始及终止位置(若存在多种取法,取起始位置靠前的取法)编写python程序,程序运行后的结果如图所示。 纸牌放置顺序依次为:['7','A','3','2','3','7','3','A','7','3','2','2','7'] 需要包含的点数为:['2','3','7','7'] 要包含key中所有牌:建议可从第9张取到第13张 (1)以图所示为例,若小明按所示结果在纸牌中取牌,则小红取牌时至少应从第_____张取到第______张才能包含key中所有点数。 (2)函数counter(key),作用为统计key中每个值出现个数并返回。请在划线处填入合适的代码。 def counter(key): dic={} for i in key: if i not in dic: dic[i]=1 else: _______ return dic (3)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。 #获取纸牌放置顺序并存储到列表pai,获取列表key,代码略 print("纸牌放置顺序依次为:",pai) print("需要包含的点数为:",key) def pd(cur_dic,dic): for i in dic: if①______: return False return True wz=[ ] dic=counter(key) min_count=len(pai)+1 for i in range(len(pai)): #枚举从索引i开始取牌 for j in range(i,len(pai)): cur_dic=②_____#cur_dic用于存放当前范围的牌中每个值出现个数 if pd(cur_dic,dic)==True: #若当前范围的牌包含key中所有点数 if min_count>j-i+1: min_count=j-i+1 wz=[i,j] break print("要包含key中所有牌:建议可从第"+str(wz[0]+1)+"张取到第"+str(wz[1]+1)+"张") (4)对任意n张纸牌,小明作为先抽牌方,按照程序结果所给建议抽牌,是否可以不败_______(选填是/否)。 【答案】 ①. 1 ②. 6 ③. dic[i]+=1 ④. i not in cur_dic or cur_dic[i]<dic[i] ⑤. counter(pai[i:j+1]) ⑥. 否 【解析】 【详解】本题考查是数组的应用。 (1)根据题目描述,小明从第9张取到第13张牌后,剩余的牌序列为: ['7', 'A', '3', '2', '3', '7', '3', 'A'],从第1张('7')开始取到第6张('7')可以包含:'7', 'A', '3', '2', '3', '7'(包含2个'7',1个'2',2个'3',满足key要求) 更短的序列是从第3张('3')到第6张('7'):'3', '2', '3', '7'(包含1个'2',2个'3',1个'7',不满足key中需要2个'7') 因此最短的满足条件的序列是从第1张到第6张。 (2)counter函数的作用是统计key中每个值的出现次数。填空部分是在字典中累加已存在的键的值。 故答案:dic[i] += 1。 (3)①pd函数用于判断当前子序列cur_dic是否满足dic(即key的计数要求)。条件是如果cur_dic中某个键的值小于dic中的值,则返回False,故此处应为:i not in cur_dic or cur_dic[i] < dic[i];②处cur_dic需要统计当前子序列pai[i:j+1]中每个值的出现次数,可以直接调用counter函数,故此处应为:counter(pai[i:j+1])。 (4)小明作为先手,按照程序建议取最短的子序列,但后手的小红可以采取同样的策略。如果剩余牌中存在更短的满足条件的子序列,小红可以获胜。因此小明不一定能保证不败。 第1页/共1页 学科网(北京)股份有限公司 $$

资源预览图

精品解析:浙江省宁波市九校2024-2025学年高一下学期期末联考技术试题-高中信息技术
1
精品解析:浙江省宁波市九校2024-2025学年高一下学期期末联考技术试题-高中信息技术
2
精品解析:浙江省宁波市九校2024-2025学年高一下学期期末联考技术试题-高中信息技术
3
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。