专题04 Python表达式和程序实现(学考真题汇编,全国通用)高中信息技术

2025-11-28
| 2份
| 31页
| 643人阅读
| 8人下载

资源信息

学段 高中
学科 信息技术
教材版本 -
年级 高二
章节 -
类型 题集-试题汇编
知识点 -
使用场景 高考复习-学业考试
学年 2026-2027
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 3.65 MB
发布时间 2025-11-28
更新时间 2025-11-28
作者 xkw_083014583
品牌系列 好题汇编·合格考真题分类汇编
审核时间 2025-11-28
下载链接 https://m.zxxk.com/soft/55173962.html
价格 4.00储值(1储值=1元)
来源 学科网

内容正文:

专题04 Python表达式和程序实现 高频考点概览 考点一 Python表达式 考点二 Python循环结构、分支结构的程序实现 考点一 Python表达式 1.(2025北京)以下Python表达式错误的是(   ) A.["a","b"]+["小明",6] B.12//5 C.10%-3 D.3+"d" 2.(2025云南)某购物平台推出满减优惠活动,跨店每满299元减50元。如果用y存储消费者选购商品的总金额,用s存储消费者的应付金额,根据活动规则,计算应付金额s的Python 表达式是(   ) A.s = y // 299 * 50 B.s = y / 299 * 50 C.s = y – y % 299 * 50 D.s = y – y // 299 * 50 3.(2023河北)将如下的代数式转换成Python表达式,正确的是(   ) A.(2*x*x-3*x-5)**0.5/5*x*x-4*x B.2*x*x-(3*x-5**0.5)/5*x*x-4*x C.(2*x*x-3*x-5)**0.5/(5*x*x-4*x) 4.(2023河北)如果想统计3、4两个班共青团员的学生人数n,在下列哪个逻辑表达式为真的时候,该生才能计入人数n(   ) A.政治面貌=="共青团员" and (班级==3 or 班级==4) B.政治面貌=="共青团员" or (班级==3 and 班级==4) C.政治面貌=="共青团员" or 班级==3 and 班级==4 5.(2025上海)小汇同学需要实现找出当前所有记录中满足“对电影评分小于7,且观影次数大于等于2”的记录,则相关条件表达式正确的是(   ) A.p[x]<7 and g[x]>=2 B.p<7 and g>=2 C.p>7 or g>=2 D.p[x]<7 or p[x]>=2 6.(2024北京)下列Python表达式,判断ch是大写字母的是(    ) A.ch >='A'and ch <='Z' B.ch >='A'or ch <='Z' C.'A'<= ch <='Z' D. 'A'< ch <'Z' 7.(2025北京)的Python表达式为 。 考点二 Python循环、分支结构的程序实现 1.(2023河北)下图a中的Python程序运行后,会得到图b所示的结果。分析模仿图a中的Python程序,在图c所示Python程序中的①、②、③处分别填写什么,可以得到图d所示的结果(   ) A.①@ ②5 ③4 B.①5 ②5 ③@ C.①4 ②5 ③"@" 2.(2023北京)用Python程序计算100以内所有奇数的和,代码如图,该程序使用了顺序结构和(    ) 1 s=0 2 for a in range( ): 3    s=s+a 4 print(s) A.选择结构 B.循环结构 C.分支结构 D.拓扑结构 3.(2022云南)所谓“水仙花数”是指这样一个三位数,其各位数字的三次方之和等于该数本身。例如:153=13+53+33,故153是水仙花数。下面的Python 程序用于输出100到999之间的水仙花数,程序中第5行下划线处应填写的代码是(   ) 1 for i in range(100,100): 2 b = i// 100 #百位 3 s = i // 10 % 10 #十位 4 g = i % 10 #个位 5 if : 6 print(i) A.i==b**3+s**3+g**3 B.i==b**2+s**2+g**2 C.i==b*3+s*3+g*3 D.i==b*2+s*2+g*2 4.(2025浙江)某零售店推出智能购物手推车,支持实时计价和自助结账。手推车配备触摸屏、能自动称重的内置秤和集成AI 算法的智能摄像头等设备。智能摄像头识别商品后,系统通过网络从服务器数据库中获取该商品的信息,并在触摸屏上显示商品信息及累计金额。用户可直接在触摸屏上确认账单,完成手机扫码支付后,系统生成电子购物凭证。该店推出购物优惠活动:购物消费金额s 达到100元或商品种类n 满5种,消费金额s 打9折。下列 Python 程序段能实现按该规则计价的是(   ) ①d=1 if s >= 100 and n >= 5:     d=0.9 print("金额:",s*d) ②d=1 if s >= 100 or n >= 5:     d=0.9 print("金额:",s*d) ③d=1 if s >= 100:     d=0.9 elif n >= 5:     d=0.9 print("金额:",s*d) ④d=1 if s >= 100:     d=0.9 if n >= 5:     d=0.9 print("金额:",s*d) A.①②③ B.②③④ C.①②④ D.①③④ 5.(2025云南)下图为小郑用Python编写的图书馆借阅逾期罚款计算程序,如果输入逾期天数为16,则程序运行结果是(   ) A.9 B.11 C.16 D.18 6.(2023北京)某同学编写的Python程序,实现的功能是:输入任意整数a和b,判断b的值是否为零,如果不等于0,则输出(a-b)/b的值,否则输出“错误”。对于程序中的错误,描述正确的选项是(    ) 1 a=int(input("a=")) 2 b=int(input("b=")) 3 if   b!=0 4     print(a-b)/b 5 else b=0: 6     print("错误") A.第3行if语句末尾少冒号":" B.第4行print语句少小括号,应调整为 print((a-b)/b) C.第5行的else语句后面不用写"b=0",直接冒号":" D.第6行print语句无需缩进,与上条语句对齐即可 7.(2023上海)为了更好地了解某地的水质情况,科研人员采集了该地各监测点当天的水质数据。数据中包含了各监测点的水质类别、水温(℃)、pH、溶解氧(mg/L)、高锰酸盐指数(mg/L)。通过数字化学习,小申了解到水质类别从高到低分为1-5类,级别最高(质量最好)为1,级别最低(质量最差)为5。小申设计了一个算法,判断样本的水质类别是否符合2类及以上标准(即水质类别1-2认为符合,其他认为不符合)。小申编写的程序如下所示,以下选项填入划线处正确的是(   ) r=int(input("请输入样本的水质类别:")) if ________:     print("符合") else:     print("不符合") A.r<2 B.r==1 and r==2 C.r>=2 D.r==1 or r==2 8.(2023广西)在Python中,下列程序段执行后,变量s的值是(    ) w=2 h=5 if h>8:    s=w*2 else:    s=w+1 A.1 B.2 C.3 D.4 9.(2023河北)某高校的n名男生打算暑期一起出去旅游,出发前需要安排好酒店住宿,已知当地4人间为160元/间,3人间为140元/间,在保证每人都有床位的情况下,怎样订房间最省钱。小王编写了如下的程序,其中②处应填写(   ) A.rs%3==0 B.rs%3<0 C.rs//3==0 10.(2025上海)小申利用数据分析的相关知识,对“高中生AI大模型使用情况调查”收集到的问卷数据进行统计和分析,以帮助学校更好地了解高中生使用大模型的现状,下表为回收问卷整理的数据。 问卷编号 用户 年级 使用频率 大模型 应用场景 1 20240130 高一 经常使用 豆包 A 2 20240238 高一 偶尔使用 DeepSeek B 3 20230304 高二 偶尔使用 百度文心 D …… …… …… …… …… …… 100 20220507 高三 未使用过 …… …… …… …… …… …… (1)下图是统计学生使用大模型进行“辅助编程”人数的算法流程图,请从右侧选择合适的框图填入左侧流程图虚线框中,从上到下正确的框图顺序是 (2)问卷调査数据存储于T4_7.csv文件中,参考上述算法流程图,编写程序统计使用大模型进行“辅助编程”的学生人数。 import pandas as pd df=pd.read_csv("T4_7.csv",encoding="ANSI")     #读取数据源csv文件 data=df[df["应用场景"].notna()]    #筛选出“应用场景”一列数据中“不为空”的记录 app=list(data["应用场景"])    #将筛选后的“应用场景”一列的数据存储到app中 total_B=0    #初始化累加器变量,用来统计选择“B.辅助编程”的学生人数 #在以下区域继续完善代码 for i in range( ):                  if :                    #以下输出语句,无需修改 print("使用大模型进行“辅助编程”的人数:",total_B) 11.(2025浙江)某班举行“智力问答比赛”,共25小题,每小题答对得1分,答错或缺答得0分,满分25分。比赛结束后,同学们的原始小题分存储在文本文件“score.txt”中,部分内容如图a所示(每一行记录一位同学的姓名和25道小题分,姓名和小题分之间以空格分隔)。陈老师利用Python程序对25道小题分求和得出每位同学总分,再统计各个分数等级的人数。按照如下的等级评判标准,判断并输出结果。 分数 分数≥21 16≤分数<21 11≤分数<16 分数<11 等级 A B C D 程序运行结果如图b所示,实现上述功能的Python程序如下,请回答下列问题: (1)某位同学的25道小题的答题情况为1111100011111111011111001,则该同学的总分为:① 分,属于② 等级(选填A、B、C、D)。 (2)自定义sumx函数,功能是将每位同学的小题分求和,请在划线处填入合适代码。 def sumx (x): for i in x: sum=sum+int (i) return sum (3)自定义grade函数,获取分数对应的A、B、C、D等级,请在划线处填入合适的代码。 def grade (zf): if zf>=21: dj="A" elif zf>=16: dj="B" elif zf>=11: dj="C" else: dj= return dj (4)自定义stat函数,统计各个等级的同学人数,请在划线处填入合适的代码。 def stat (scores): result=[0,0,0,0] for i in scores: dj= result [ord(dj)-65]+=1  #相应等级人数+1 return result (5)主程序,请在划线处填入合适的代码。 answers=[] scores=[] f=open("score.txt") lines=f. readlines() for line in lines: a=line. strip(). split()        #去除结尾换行符并以空格为分隔符进行分割 answers. append(a[1])        #记录每个同学的答题情况 f. close() for i in answers: scores.append (sumx(i))  #记录每个同学的成绩 result=stat(scores) print("成绩分布如下:") for i in range (len(result)): print(chr (i+65)+"等级有"+ +"人") 12.(2023上海)为了更好地了解某地的水质情况,科研人员采集了该地各监测点当天的水质数据。数据中包含了各监测点的水质类别、水温(℃)、pH、溶解氧(mg/L)、高锰酸盐指数(mg/L)。通过数字化学习,小申了解到水质类别从高到低分为1-5类,级别最高(质量最好)为1,级别最低(质量最差)为5。小申编写程序统计某监测点水质类别为1的天数。请完善程序代码,将程序以原文件名保存在默认位置。点击图标进入开发环境。数据存储于T4_8.csv文件中,与该程序位于同一文件夹目录。 # 统计水质类别为 1 的天数 import pandas as pd data=pd.read_csv("T4_8.csv",encoding='ANSI') # 获取水质类别数据 szlb=list(data["水质类别"]) # 计数器 cnt=0 # 在以下区域继续完善代码 # 以下输出语句,无需修改 print(cnt) # 根据测试源,判定结果(测试数据结果:49) 13.(2022云南)日本数学家角谷静夫在研究自然数时发现这样一个规律:对于任意一个正整数n,若n为偶数,则将其除以2;若n为奇数,则将其乘以3,然后再加1。按此做法,经过有限次的运算后,总可以得到自然数1。人们把角谷静夫的这一发现叫做“角谷猜想”。小敏在学习了程序设计后,通过Python 程对“角谷猜想”进行验证。小敏采用流程图描述验证“角谷猜想”的算法和Python序如下所示:    1 n=int(input(“请输入一个正整数:”)) 2 while n>1: 3    if : 4       n=n//2 5    else: 6       n= 7 print(n) (1)程序中第3行下划线处应填入 。 (2)程序中第6行下划线处应填入 。 (3)根据“角谷猜想”,当输入任意一个正整数n,最终输出n的值为 。 14.(2024浙江)某 APP 依据手机每秒钟屏幕的亮、熄,记录当天00:00:00 至 23:59:59之间手机持续亮屏的各时间段,并生成手机亮屏日志文件。若用0表示熄屏,1表示亮屏,某天前10秒的屏幕状态为“0011011110”,则日志中记为“00:00:02,00:00:03,00:00:05,00:00:08”,表示首个持续亮屏时间段的开始与结束时间点分别为“00:00:02”和“00:00:03”,时长为2秒,而第2个持续亮屏时间段时长为4秒。 编写Python程序读取某天的日志文件,计算并输出手机当天亮屏的总时长、单次持续亮屏时长的最大值和相应的时间段(若相应时间段有多个,则按时间顺序全部输出)。 (1)若某天日志文件记录的前6个时间点如图所示,可知当天10:00:00该手机处于 (单选,填字母;A.亮屏状态/B.熄屏状态); (2)定义函数tosec(x),参数x是形如“08:00:05”的时间点,该函数的功能是计算点x是当天的第几秒(约定00:00:00为当天第0秒)。请在划线处填入合适的代码。 def tosec(x):     #从时间点x中提取时、分,转为整型后分别存储在变量h、m中,代码略 s= n=h*3600 +m*60+s return n (3)定义函数getdata(t),该函数功能是依次计算每个持续亮屏时间段的时长并存入列表 c,其时间段存入列表d,返回c和d。请在划线处填入合适的代码。 def getdata(t): i=0 c=[]; d=[] while i < len(t): c. append(tmp)   # 在列表c末尾添加一个元素     d. append(t[i] + "-" + t[i + 1]) i+= 2 return c, d (4)实现上述功能的主程序如下,请在划线处填入合适的代码。 #读取某天日志中各时间点,依次存入列表t,t形如["08:00:00",……],代码略 c,d= getdata(t) tot = 0; cmax = 0 res ="" for i in range(len(d)): tot += c[i] if c[i] >cmax: cmax = c[i] res = d[i] elif : res = res + "," + d[i] """ 输出当天亮屏的总时长 tot 输出单次持续亮屏时长的最大值cmax和相应的时间段res代码略 """ 15.(2025北京)根据如下流程图,求输出的a值,并将该流程图用Python语言编写成代码。 (1)求输出的a值( ) A.68    B.84    C.104    D.132 (2)python代码: 16.(2025云南)为帮助农民合理安排灌溉、施肥等农业生产活动,某地农业气象站购买了一套降雨量精准测量系统。该系统的主要功能是:使用称重式雨量计测量降雨量,并把降雨量数据实时上传到气象中心服务平台,实现对降雨信息的准确跟踪。据此完成下列要求。 (1)系统中的称重式雨量计由承水口、滤网、储水桶和称重传感器等组成,降雨时,通过测量收集到的雨水重量来确定降雨量,采集降雨数据,这属于该信息系统的 功能。 (2)某地降雨量与地质灾害事件次数的可视化图表如下图所示,图表由柱形图和 图组成。从图表中可发现,降雨量最大、发生地质灾害最频繁的月份是 月。 (3)气象学上,降雨等级的划分一般是根据24小时内的降水量来确定,参照表如下: 已知某地6月份第1周的24小时降水量存放在列表rainfall中。请完善程序,使其能够根据不同的降水量数值,输出对应气象学分类。 ①程序中第11行划线处应填入 。 ②程序中第20行划线处应填入 。 17.(2025云南)在“全国读书节”来临之际,某书店推出“生日书香月”活动,活动期间会员凭身份证购买图书可享受购书优惠。购书优惠规则是:9月出生的会员均可享受8.5折优惠;9月28日出生的会员可享受5折优惠。下图是小张用Python为书店编写的图书优惠金额结算程序: (1)中华人民共和国居民身份证号码由18位数字构成,其中第11~14位是生日编码,如:“0626”表示生日是6月26日。如果要提取生日中“天”的信息,程序第4行下划线处应该填入 。 (2)程序第10行变量sfz的数据类型是 。 (3)如果某会员的身份证号码为532433200909280417,购书金额为160元,则优惠后应支付的金额为 元。 学科网(北京)股份有限公司1 / 4 学科网(北京)股份有限公司 $ 专题04 Python表达式和程序实现 高频考点概览 考点一 Python表达式 考点二 Python循环结构、分支结构的程序实现 考点一 Python表达式 1.(2025北京)以下Python表达式错误的是(   ) A.["a","b"]+["小明",6] B.12//5 C.10%-3 D.3+"d" 【答案】D 【详解】本题考查Python表达式相关内容。ABC选项表达式正确。D选项,Python是强类型语言,数值和字符串的混合运算需显式类型转换,否则会抛出TypeError,选项错误。故本题答案是D选项。 2.(2025云南)某购物平台推出满减优惠活动,跨店每满299元减50元。如果用y存储消费者选购商品的总金额,用s存储消费者的应付金额,根据活动规则,计算应付金额s的Python 表达式是(   ) A.s = y // 299 * 50 B.s = y / 299 * 50 C.s = y – y % 299 * 50 D.s = y – y // 299 * 50 【答案】D 【详解】本题考查的是Python表达式。//表示整除,跨店每满299减50元,y//299*50计算总共优惠的金额, y – y // 299 * 50表示需支付的金额。故选D。 3.(2023河北)将如下的代数式转换成Python表达式,正确的是(   ) A.(2*x*x-3*x-5)**0.5/5*x*x-4*x B.2*x*x-(3*x-5**0.5)/5*x*x-4*x C.(2*x*x-3*x-5)**0.5/(5*x*x-4*x) 【答案】C 【详解】本题考查python表达式。先计算根号内的部分 2x 2  −3x−5 ,然后对其开平方,在 Python 中,开平方可以用**0.5表示 ,即 (2∗x∗x−3∗x−5)∗∗0.5  。 再计算分母部分 5x 2  −4x ,在 Python 中表示为 5∗x∗x−4∗x  。 最后用开平方的结果除以分母的结果,即 (2∗x∗x−3∗x−5)∗∗0.5/(5∗x∗x−4∗x)  。故选C。 4.(2023河北)如果想统计3、4两个班共青团员的学生人数n,在下列哪个逻辑表达式为真的时候,该生才能计入人数n(   ) A.政治面貌=="共青团员" and (班级==3 or 班级==4) B.政治面貌=="共青团员" or (班级==3 and 班级==4) C.政治面貌=="共青团员" or 班级==3 and 班级==4 【答案】A 【详解】本题考查的是python表达式。逻辑表达式需确保两个条件同时成立(即使用 and 连接),而班级条件中“3班或4班”需用 or 表示。故选A。 5.(2025上海)小汇同学需要实现找出当前所有记录中满足“对电影评分小于7,且观影次数大于等于2”的记录,则相关条件表达式正确的是(   ) A.p[x]<7 and g[x]>=2 B.p<7 and g>=2 C.p>7 or g>=2 D.p[x]<7 or p[x]>=2 【答案】A 【详解】本题考查的是Python表达式。表达式中需明确字段和记录索引(如 p[x]、g[x]),以确保针对每条记录检查,题目条件为 “且”(and),必须同时满足。故选A。 6.(2024北京)下列Python表达式,判断ch是大写字母的是(    ) A.ch >='A'and ch <='Z' B.ch >='A'or ch <='Z' C.'A'<= ch <='Z' D. 'A'< ch <'Z' 【答案】AC 【详解】本题考查Python表达式。判断ch是大写字母的表达式是:ch >='A'and ch <='Z' 或者 'A'<= ch <='Z'。故选AC。 7.(2025北京)的Python表达式为 。 【答案】(2*a)/(b + c) 【详解】本题考查 Python表达式。在 Python 里,乘法运算用*表示,除法运算用/表示,同时需通过括号保障运算顺序与数学表达式一致。在该题的数学表达式中,分子2a的 Python 表达式为2*a,分母直接表示为b + c,为确保先算分母的加法,要给分母加上括号,所以整体的 Python 表达式是(2*a)/(b + c)。因此该题答案为(2*a)/(b + c)。 考点二 Python循环、分支结构的程序实现 1.(2023河北)下图a中的Python程序运行后,会得到图b所示的结果。分析模仿图a中的Python程序,在图c所示Python程序中的①、②、③处分别填写什么,可以得到图d所示的结果(   ) A.①@ ②5 ③4 B.①5 ②5 ③@ C.①4 ②5 ③"@" 【答案】C 【详解】本题考查 Python 嵌套循环的逻辑应用。 图 d 是 4 行、每行 5 个 “@” 的图案。 外层循环控制行数,图 d 有 4 行,因此 range(①) 中①应填 4 ,让外层循环执行 4 次 。内层循环控制每行输出字符数量,图 d 每行有 5 个字符,因此 range(②) 中②应填 5 ,让内层循环每行执行 5 次 。输出的字符是 “@” ,因此 print(③,end='') 中③应填 “@” ,指定输出内容 。因此,本题选择C。 2.(2023北京)用Python程序计算100以内所有奇数的和,代码如图,该程序使用了顺序结构和(    ) 1 s=0 2 for a in range( ): 3    s=s+a 4 print(s) A.选择结构 B.循环结构 C.分支结构 D.拓扑结构 【答案】B 【详解】本题主要考查Python循环结构的应用。分析程序可知,该程序使用了顺序结构和for循环结构,故本题选B选项。 3.(2022云南)所谓“水仙花数”是指这样一个三位数,其各位数字的三次方之和等于该数本身。例如:153=13+53+33,故153是水仙花数。下面的Python 程序用于输出100到999之间的水仙花数,程序中第5行下划线处应填写的代码是(   ) 1 for i in range(100,100): 2 b = i// 100 #百位 3 s = i // 10 % 10 #十位 4 g = i % 10 #个位 5 if : 6 print(i) A.i==b**3+s**3+g**3 B.i==b**2+s**2+g**2 C.i==b*3+s*3+g*3 D.i==b*2+s*2+g*2 【答案】A 【详解】本题主要考查Python程序的调试。所谓“水仙花数”是指这样一个三位数,其各位数字的三次方之和等于该数本身。Python程序中,幂运算符是“**”,故此处填i==b**3+s**3+ g**3,故本题选A选项。 4.(2025浙江)某零售店推出智能购物手推车,支持实时计价和自助结账。手推车配备触摸屏、能自动称重的内置秤和集成AI 算法的智能摄像头等设备。智能摄像头识别商品后,系统通过网络从服务器数据库中获取该商品的信息,并在触摸屏上显示商品信息及累计金额。用户可直接在触摸屏上确认账单,完成手机扫码支付后,系统生成电子购物凭证。该店推出购物优惠活动:购物消费金额s 达到100元或商品种类n 满5种,消费金额s 打9折。下列 Python 程序段能实现按该规则计价的是(   ) ①d=1 if s >= 100 and n >= 5:     d=0.9 print("金额:",s*d) ②d=1 if s >= 100 or n >= 5:     d=0.9 print("金额:",s*d) ③d=1 if s >= 100:     d=0.9 elif n >= 5:     d=0.9 print("金额:",s*d) ④d=1 if s >= 100:     d=0.9 if n >= 5:     d=0.9 print("金额:",s*d) A.①②③ B.②③④ C.①②④ D.①③④ 【答案】B 【详解】本题考查Python分支结构。根据题目优惠规则,当消费金额 s 达到 100 元 或 商品种类 n 满 5 种时,才打 9 折,因此逻辑应使用“或”(or)而非“与”(and),并且需要保证只要任一条件满足就能应用折扣。程序①使用了 and,只有两者同时满足才打折,不符合规则;程序②使用 or,只要任一条件满足就打折,符合规则;程序③用 elif 分支,也能在任一条件满足时打折,符合规则;程序④虽然使用两个独立的 if,但最终效果也是只要任一条件成立就打折,也符合规则。因此正确答案是②、③、④。故答案为:B。 5.(2025云南)下图为小郑用Python编写的图书馆借阅逾期罚款计算程序,如果输入逾期天数为16,则程序运行结果是(   ) A.9 B.11 C.16 D.18 【答案】B 【详解】本题考查Python分支结构的执行逻辑。输入逾期天数为16:首先判断days<=7?16不满足;再判断days<=14?16不满足;进入else分支,计算fine=7+(16-14)*2 = 7 + 2*2 = 11。所以程序运行结果是11,选B。 6.(2023北京)某同学编写的Python程序,实现的功能是:输入任意整数a和b,判断b的值是否为零,如果不等于0,则输出(a-b)/b的值,否则输出“错误”。对于程序中的错误,描述正确的选项是(    ) 1 a=int(input("a=")) 2 b=int(input("b=")) 3 if   b!=0 4     print(a-b)/b 5 else b=0: 6     print("错误") A.第3行if语句末尾少冒号":" B.第4行print语句少小括号,应调整为 print((a-b)/b) C.第5行的else语句后面不用写"b=0",直接冒号":" D.第6行print语句无需缩进,与上条语句对齐即可 【答案】ABC 【详解】本题考查的是Python选择语句。观察程序可知,第3行if语句末尾少冒号":";第4行print语句少小括号,应调整为 print((a-b)/b);第5行的else语句后面不用写"b=0",直接冒号":"。第6行print语句需要缩进。故本题应选ABC。 7.(2023上海)为了更好地了解某地的水质情况,科研人员采集了该地各监测点当天的水质数据。数据中包含了各监测点的水质类别、水温(℃)、pH、溶解氧(mg/L)、高锰酸盐指数(mg/L)。通过数字化学习,小申了解到水质类别从高到低分为1-5类,级别最高(质量最好)为1,级别最低(质量最差)为5。小申设计了一个算法,判断样本的水质类别是否符合2类及以上标准(即水质类别1-2认为符合,其他认为不符合)。小申编写的程序如下所示,以下选项填入划线处正确的是(   ) r=int(input("请输入样本的水质类别:")) if ________:     print("符合") else:     print("不符合") A.r<2 B.r==1 and r==2 C.r>=2 D.r==1 or r==2 【答案】D 【详解】本题主要考查Python分支结构的应用。and是且,or是或,判断样本的水质类别是否符合2类及以上标准(即水质类别1-2认为符合,其他认为不符合),因此if判断条件是r==1 or r==2,故本题选D选项。 8.(2023广西)在Python中,下列程序段执行后,变量s的值是(    ) w=2 h=5 if h>8:    s=w*2 else:    s=w+1 A.1 B.2 C.3 D.4 【答案】C 【详解】本题考查的是Python选择语句。初始w=2,h=5。不满足h>8,执行s=w+1=2+1=3。故本题应选C。 9.(2023河北)某高校的n名男生打算暑期一起出去旅游,出发前需要安排好酒店住宿,已知当地4人间为160元/间,3人间为140元/间,在保证每人都有床位的情况下,怎样订房间最省钱。小王编写了如下的程序,其中②处应填写(   ) A.rs%3==0 B.rs%3<0 C.rs//3==0 【答案】A 【知识点】分支结构的程序实现、循环结构的程序实现 【详解】本题考查的是循环与分支语句的应用。本题是通过 Python 程序解决酒店订房最省钱的问题,核心是根据总人数 n ,枚举四人间数量 r4 ,计算剩余人数 rs ,再看剩余人数能否被 3 整除来确定三人间数量 r3 ,进而计算费用并找出最小费用。所以②处应填写 rs%3==0。故选A。 10.(2025上海)小申利用数据分析的相关知识,对“高中生AI大模型使用情况调查”收集到的问卷数据进行统计和分析,以帮助学校更好地了解高中生使用大模型的现状,下表为回收问卷整理的数据。 问卷编号 用户 年级 使用频率 大模型 应用场景 1 20240130 高一 经常使用 豆包 A 2 20240238 高一 偶尔使用 DeepSeek B 3 20230304 高二 偶尔使用 百度文心 D …… …… …… …… …… …… 100 20220507 高三 未使用过 …… …… …… …… …… …… (1)下图是统计学生使用大模型进行“辅助编程”人数的算法流程图,请从右侧选择合适的框图填入左侧流程图虚线框中,从上到下正确的框图顺序是 (2)问卷调査数据存储于T4_7.csv文件中,参考上述算法流程图,编写程序统计使用大模型进行“辅助编程”的学生人数。 import pandas as pd df=pd.read_csv("T4_7.csv",encoding="ANSI")     #读取数据源csv文件 data=df[df["应用场景"].notna()]    #筛选出“应用场景”一列数据中“不为空”的记录 app=list(data["应用场景"])    #将筛选后的“应用场景”一列的数据存储到app中 total_B=0    #初始化累加器变量,用来统计选择“B.辅助编程”的学生人数 #在以下区域继续完善代码 for i in range( ):                  if :                    #以下输出语句,无需修改 print("使用大模型进行“辅助编程”的人数:",total_B) 【答案】 ①④② len(app) app[i]=="B" total_B+=1 【详解】本题考查Python程序设计。(1)根据流程图可知,[初始化计数器] → [遍历记录] → [检查是否为B] → [计数器加1] → [输出结果],因此正确答案为:①④②。(2)遍历app列表中的所有元素。故②处填len(app)。检查当前应用场景是否为"B"(辅助编程)。故③处填app[i]=="B"。如果满足条件则计数器加1。故④处填total_B+=1。 11.(2025浙江)某班举行“智力问答比赛”,共25小题,每小题答对得1分,答错或缺答得0分,满分25分。比赛结束后,同学们的原始小题分存储在文本文件“score.txt”中,部分内容如图a所示(每一行记录一位同学的姓名和25道小题分,姓名和小题分之间以空格分隔)。陈老师利用Python程序对25道小题分求和得出每位同学总分,再统计各个分数等级的人数。按照如下的等级评判标准,判断并输出结果。 分数 分数≥21 16≤分数<21 11≤分数<16 分数<11 等级 A B C D 程序运行结果如图b所示,实现上述功能的Python程序如下,请回答下列问题: (1)某位同学的25道小题的答题情况为1111100011111111011111001,则该同学的总分为:① 分,属于② 等级(选填A、B、C、D)。 (2)自定义sumx函数,功能是将每位同学的小题分求和,请在划线处填入合适代码。 def sumx (x): for i in x: sum=sum+int (i) return sum (3)自定义grade函数,获取分数对应的A、B、C、D等级,请在划线处填入合适的代码。 def grade (zf): if zf>=21: dj="A" elif zf>=16: dj="B" elif zf>=11: dj="C" else: dj= return dj (4)自定义stat函数,统计各个等级的同学人数,请在划线处填入合适的代码。 def stat (scores): result=[0,0,0,0] for i in scores: dj= result [ord(dj)-65]+=1  #相应等级人数+1 return result (5)主程序,请在划线处填入合适的代码。 answers=[] scores=[] f=open("score.txt") lines=f. readlines() for line in lines: a=line. strip(). split()        #去除结尾换行符并以空格为分隔符进行分割 answers. append(a[1])        #记录每个同学的答题情况 f. close() for i in answers: scores.append (sumx(i))  #记录每个同学的成绩 result=stat(scores) print("成绩分布如下:") for i in range (len(result)): print(chr (i+65)+"等级有"+ +"人") 【答案】 19 B sum=0 "D"或'D' grade(i) str(result[i]) 【详解】本题考查python程序设计。 (1)该同学答题字符串 '1111100011111111011111001' 中 '1' 的数量为19个,故总分为19分,因 19<21,对应等级为B 。 (2)函数功能是对小题分字符串求和,需初始化 sum 变量为0,该空为sum=0。 (3)根据等级规则,分数小于 11 时等级为 D,该空为"D"或'D'。 (4)需调用 grade 函数获取当前分数的等级,该空为grade(i)。 (5)需将等级人数转换为字符串输出,该空为str(result[i])。 12.(2023上海)为了更好地了解某地的水质情况,科研人员采集了该地各监测点当天的水质数据。数据中包含了各监测点的水质类别、水温(℃)、pH、溶解氧(mg/L)、高锰酸盐指数(mg/L)。通过数字化学习,小申了解到水质类别从高到低分为1-5类,级别最高(质量最好)为1,级别最低(质量最差)为5。小申编写程序统计某监测点水质类别为1的天数。请完善程序代码,将程序以原文件名保存在默认位置。点击图标进入开发环境。数据存储于T4_8.csv文件中,与该程序位于同一文件夹目录。 # 统计水质类别为 1 的天数 import pandas as pd data=pd.read_csv("T4_8.csv",encoding='ANSI') # 获取水质类别数据 szlb=list(data["水质类别"]) # 计数器 cnt=0 # 在以下区域继续完善代码 # 以下输出语句,无需修改 print(cnt) # 根据测试源,判定结果(测试数据结果:49) 【答案】for i in szlb:        if i==1:               cnt+=1 【详解】本题考查的是Python循环语句。统计某监测点水质类别为1的天数,依次对水质类别进行比较,如果水质类别为1,则计数加1。故代码如下: for i in szlb:      if i==1:          cnt+=1 13.(2022云南)日本数学家角谷静夫在研究自然数时发现这样一个规律:对于任意一个正整数n,若n为偶数,则将其除以2;若n为奇数,则将其乘以3,然后再加1。按此做法,经过有限次的运算后,总可以得到自然数1。人们把角谷静夫的这一发现叫做“角谷猜想”。小敏在学习了程序设计后,通过Python 程对“角谷猜想”进行验证。小敏采用流程图描述验证“角谷猜想”的算法和Python序如下所示:    1 n=int(input(“请输入一个正整数:”)) 2 while n>1: 3    if : 4       n=n//2 5    else: 6       n= 7 print(n) (1)程序中第3行下划线处应填入 。 (2)程序中第6行下划线处应填入 。 (3)根据“角谷猜想”,当输入任意一个正整数n,最终输出n的值为 。 【答案】 n%2==0 3*n+1 1 【详解】本题主要考查Python程序的综合应用。①对于任意一个正整数n,若n为偶数,则将其除以2;若n为奇数,则将其乘以3,然后再加1。故此处if判断条件是n%2==0。②若n为奇数,则将其乘以3,然后再加1,故此处填3*n+1。③按此做法,经过有限次的运算后,总可以得到自然数1。因此根据“角谷猜想”,当输入任意一个正整数n,最终输出n的值为1。 14.(2024浙江)某 APP 依据手机每秒钟屏幕的亮、熄,记录当天00:00:00 至 23:59:59之间手机持续亮屏的各时间段,并生成手机亮屏日志文件。若用0表示熄屏,1表示亮屏,某天前10秒的屏幕状态为“0011011110”,则日志中记为“00:00:02,00:00:03,00:00:05,00:00:08”,表示首个持续亮屏时间段的开始与结束时间点分别为“00:00:02”和“00:00:03”,时长为2秒,而第2个持续亮屏时间段时长为4秒。 编写Python程序读取某天的日志文件,计算并输出手机当天亮屏的总时长、单次持续亮屏时长的最大值和相应的时间段(若相应时间段有多个,则按时间顺序全部输出)。 (1)若某天日志文件记录的前6个时间点如图所示,可知当天10:00:00该手机处于 (单选,填字母;A.亮屏状态/B.熄屏状态); (2)定义函数tosec(x),参数x是形如“08:00:05”的时间点,该函数的功能是计算点x是当天的第几秒(约定00:00:00为当天第0秒)。请在划线处填入合适的代码。 def tosec(x):     #从时间点x中提取时、分,转为整型后分别存储在变量h、m中,代码略 s= n=h*3600 +m*60+s return n (3)定义函数getdata(t),该函数功能是依次计算每个持续亮屏时间段的时长并存入列表 c,其时间段存入列表d,返回c和d。请在划线处填入合适的代码。 def getdata(t): i=0 c=[]; d=[] while i < len(t): c. append(tmp)   # 在列表c末尾添加一个元素     d. append(t[i] + "-" + t[i + 1]) i+= 2 return c, d (4)实现上述功能的主程序如下,请在划线处填入合适的代码。 #读取某天日志中各时间点,依次存入列表t,t形如["08:00:00",……],代码略 c,d= getdata(t) tot = 0; cmax = 0 res ="" for i in range(len(d)): tot += c[i] if c[i] >cmax: cmax = c[i] res = d[i] elif : res = res + "," + d[i] """ 输出当天亮屏的总时长 tot 输出单次持续亮屏时长的最大值cmax和相应的时间段res代码略 """ 【答案】 B int(x[6:8]) tmp=tosec(t[i+1])-tosec(t[i]) +1 c[i] ==cmax; 【详解】本题考查的是python综合应用。 (1)由给出的前 6 个时间点可推知,手机在 09:59:59 到 10:05:03 之间处于熄屏状态,因此 10:00:00 时为熄屏状态,故选B。 (2)由n=h*3600 +m*60+s可知,s是时间点中的秒部分,即时间点的最后两位,故划线处答案为:int(x[6:8])或其它等价答案。 (3)函数 getdata(t) 中,用于计算单次亮屏时长c(单位:秒),由c. append(tmp)可知,单次亮屏时长c先存储在tmp中。计算方法:把对应的结束时间与开始时间分别转化成当日的第几秒后再相减,故划线处答案为:tmp=tosec(t[i+1])-tosec(t[i]) +1。 (4)若相应时间段有多个,则按时间顺序全部输出,故当发现某段时长与当前最大时长相等时,就将该时间段累加到结果字符串中。由res = res + " ," + d[i]可知,当前条件是:当前段时长与当前最大时长相等,故划线处代码为:c[i] ==cmax。 15.(2025北京)根据如下流程图,求输出的a值,并将该流程图用Python语言编写成代码。 (1)求输出的a值( ) A.68    B.84    C.104    D.132 (2)python代码: 【答案】 D a = 12   while a < 80:   a = a * 2 - 4   print(a) 【来源】北京市怀柔区2025年普通高中合格性考试信息技术试题 【知识点】算法的描述、循环结构的程序实现 【详解】本题考查的是流程图识读及Python循环语句。 (1)初始 a = 12,因 12 < 80,执行 a = a×2 - 4 → a = 12×2 - 4 = 20 20 < 80,执行 a = 20×2 - 4 = 36 36 < 80,执行 a = 36×2 - 4 = 68 68 < 80,执行 a = 68×2 - 4 = 132 132 ≥ 80,输出 a = 132,故选D。 (2) 代码说明: 初始化 a = 12,用 while 循环判断 a < 80,满足则执行 a = a×2 - 4,直到 a ≥ 80 时输出结果。具体代码如下: a = 12 while a < 80: a = a * 2 - 4 print(a) 16.(2025云南)为帮助农民合理安排灌溉、施肥等农业生产活动,某地农业气象站购买了一套降雨量精准测量系统。该系统的主要功能是:使用称重式雨量计测量降雨量,并把降雨量数据实时上传到气象中心服务平台,实现对降雨信息的准确跟踪。据此完成下列要求。 (1)系统中的称重式雨量计由承水口、滤网、储水桶和称重传感器等组成,降雨时,通过测量收集到的雨水重量来确定降雨量,采集降雨数据,这属于该信息系统的 功能。 (2)某地降雨量与地质灾害事件次数的可视化图表如下图所示,图表由柱形图和 图组成。从图表中可发现,降雨量最大、发生地质灾害最频繁的月份是 月。 (3)气象学上,降雨等级的划分一般是根据24小时内的降水量来确定,参照表如下: 已知某地6月份第1周的24小时降水量存放在列表rainfall中。请完善程序,使其能够根据不同的降水量数值,输出对应气象学分类。 ①程序中第11行划线处应填入 。 ②程序中第20行划线处应填入 。 【答案】 输入 折线图 7 r<250 或 100<=r<250 fenlei 【详解】本题考查的是信息系统功能及数据处理。 (1)“输入”是指系统从外部(如用户设备、传感器等)收集、接收原始数据的过程;“输出”是指系统将处理后的数据以特定形式(如文字、图表)提供给用户或其他系统的过程。“存储”是指通过数据库、文件等载体,长期保存系统收集和处理后的数据,以便后续调用。“加工与处理”是指对输入或存储的原始数据进行计算、分析、转换等操作,生成有价值的新数据。故答案为:输入 (2)由图中可知图表由柱形图和折线图组成,降雨量最大、发生地质灾害最频繁的月份是7月。 (3)①根据题目中降水量的分类,“大暴雨” 对应的是“大于等于 100 毫米,小于 250 毫米”,故此处答案为:r<250 或 100<=r<250;②在程序中,我们定义了一个函数 fenlei(r) 来根据降水量 r 返回对应的气象学分类。在第 20 行,我们需要调用这个函数来对 rainfall 列表中的每个元素 jsl 进行分类,所以应填入 fenlei 。 17.(2025云南)在“全国读书节”来临之际,某书店推出“生日书香月”活动,活动期间会员凭身份证购买图书可享受购书优惠。购书优惠规则是:9月出生的会员均可享受8.5折优惠;9月28日出生的会员可享受5折优惠。下图是小张用Python为书店编写的图书优惠金额结算程序: (1)中华人民共和国居民身份证号码由18位数字构成,其中第11~14位是生日编码,如:“0626”表示生日是6月26日。如果要提取生日中“天”的信息,程序第4行下划线处应该填入 。 (2)程序第10行变量sfz的数据类型是 。 (3)如果某会员的身份证号码为532433200909280417,购书金额为160元,则优惠后应支付的金额为 元。 【答案】 12:14 字符串或string或字符串型 80 【详解】本题考查Python程序设计。 (1)索引号从左往右是从0开始标注,从右往左是从-1开始标注。身份证号码的第13-14位为出生日期,对应索引是[12:14],因此该空答案为12:14。 (2)Python中input()函数的返回值数据类型为字符串,因此变量sfz的数据类型是字符串或string或字符串型。 (3)结合身份证号码判断优惠规则(9月28日出生享5折优惠),并进行数值计算(160×0.5 = 80),因此该空答案为80。 学科网(北京)股份有限公司1 / 4 学科网(北京)股份有限公司 $

资源预览图

专题04 Python表达式和程序实现(学考真题汇编,全国通用)高中信息技术
1
专题04 Python表达式和程序实现(学考真题汇编,全国通用)高中信息技术
2
专题04 Python表达式和程序实现(学考真题汇编,全国通用)高中信息技术
3
所属专辑
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。