版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年3月青少年软件编程Python等级考试四级真题(含答案-在末尾)一、单选题(共25题,共50分)。1.小明有一堆糖果,他每天吃掉一半加一颗。如果小明连续吃了5天,糖果正好吃完,请问小明最初有多少颗糖果?求解该问题使用的算法思想是?()。A.查找B.递推C.排序D.枚举2.下列有关递归与递推的描述中,正确的是?()。A.递归没有体现“大事化小”的思想。B.一个问题不能既可以用递归解决,又能用递推来解决。C.递归有明确结束递归的边界条件D.通常递归比递推高效,因为它使用了函数调用。3.有如下Python程序,执行该程序后,输出的结果是?()。deff(n):ifn==1:returnnelse:returnn+f(n//2)print(f(10))A.18B.55C.100D.14.有如下递归函数,执行print(f(3))语句后,函数f被调用的次数是?()。deff(n):ifn==1orn==0:returnnelse:returnf(n-1)+f(n-2)print(f(3))A.2B.3C.4D.55.运行如下代码,请输出运算结果?()。deff(lst):iflen(lst)==0:return0returnlst[0]+f(lst[1:])a=[1,2,3,4]print(f(a))A.3B.6C.9D.106.有如下Python程序,执行该程序后,输出的结果是?()。defnx(s):iflen(s)==1:returnsreturnnx(s[1:])+s[0]print(nx('abcda'))A.abcdaB.bcdaaC.cdabaD.adcba7.以下关于关键字global和nonlocal的表述中,错误的选项是?()。A.global和nonlocal相同点是在函数体内改变非局部变量的值B.global声明变量时不能同时对该变量赋值C.global声明的变量将变成全局变量D.nonlocal能通过局部变量改变全局变量的值。8.在Python社团活动中,小明请小伙伴写了以下交换两个变量值的函数,运行代码的输出是?()。defswap(a,b):a,b=b,ax,y=1,2swap(x,y)print(x,y)A.12B.21C.报错D.009.社团活动中,小明给小伙伴们出了一道编程题,请阅读Python程序,下列哪个选项描述是正确的?()。defdemo(n):s=1foriinrange(1,n):s*=ireturnsA.demo(n)函数的功能是求n-1的阶乘B.s是全局变量C.n是实参D.range()函数不是Python内置函数10.在学习完函数如何传递参数后,老师给出以下Python程序,让大家试运行一下,输出结果是?()。defdemo(x):returnx*2print(demo(demo(2)))A.1B.2C.4D.811.有如下Python程序,执行该程序后输出的结果是?()。n=5deffun():globalnn=n*2print(n)fun()print(n)A.1010B.55C.105D.51012.小明根据课上老师讲的内容编写了以下Python程序,老师发现了错误却依旧可以运行,当前输出结果是?()。deff(a:int,b:str)->str:c=a+bprint(c)returnff('3','45')A.48B.75C.345D.报错13.小明需要升级安装最新版本的numpy库用于数据分析。正确的安装命令是?()。A.pipinstallnumpyB.pipinstall--upgradenumpyC.pipupdatenumpyD.pipinstallnumpy==latest14.小明想在Python中导入matplotlib的pyplot模块并设置别名,绘制图表。正确的导入方式是?()。A.importmatplotlib.pyplotaspltB.frommatplotlibimportpyplotC.importpyplotfrommatplotlibD.includematplotlib.pyplot15.在Python程序中,以下哪个选项的函数调用能够正确输出结果为:"4年级的李明同学"?()。函数定义如下:defstudent_info(grade,name):print(f"{grade}年级的{name}同学")A.student_info(4,"李明")B.student_info("李明")C.student_info("李明",3)D.student_info(grade=4,"李明")16.在Python语言中,以下哪个函数调用可以正确输出"计算结果=9"?()。函数定义如下:defcalc(x,y,z):ans=(x+y)*zprint(f"计算结果={ans}")A.calc(1,3,2)B.calc(1,2,z=3)C.calc(2,x=1,z=3)D.calc(z=1,y=2,x=3)17.有如下Python程序段,执行该程序段后的结果是?()。defmul(x,y=1):returnx**yprint(mul(2),mul(1,2))A.22B.12C.21D.1118.在Python语言中,当不确定需要传入的值是多少时,可以用*args来表示,执行如下程序段后的结果是?()。deffun(*args):t=0forxinargs:t+=xreturntprint(fun(1)+fun(2,3))A.1B.2C.6D.程序报错19.下列关于函数return语句的说法,正确的是?()。A.return语句中返回值的数据类型可以是字典,也可以是列表。B.一个函数中只能有一个return语句C.return语句中不能有表达式D.return只能返回一个值20.下列Python代码的输出结果是?()。>>>s=lambdaa,b:a*b>>>s(4,4)A.4B.4,4C.16D.821.在Python语言中,匿名函数不需要用return来返回值,执行如下程序段后的结果是?()。f=lambdax,y:xifx>yelseyresult=f(10,20)print(result)A.10B.20C.TrueD.False22.小明正在用枚举算法解决一个问题:找出所有满足各位数字之积等于12的三位数。为了提高程序运行效率,他需要选择一个合适的数值范围进行枚举。在以下选项中,哪种数值范围能让算法的执行效率最高?()。A.0~999B.100~900C.126~621D.126~43123.下面为银行存款计算程序,假设存款利率每年都是0.03,小明有1000元,求存满5年后的总金额,下面Python代码空白处应该填入哪个选项?()。definterest(total,years,rate=0.03):foriinrange(years):total*=()returntotalprint(interest(1000,5))A.total+rateB.rateC.1+rateD.years+rate24.分治算法的基本思想不包括下列哪个选项?()。A.将大问题分解为小问题B.递归解决小问题C.合并小问题的解D.优先解决最困难的子问题25.下列生活问题中,不适合用分治策略解决的是?()。A.猜1到100之间的某个整数B.有多个节点的输电线路的故障检测C.从一堆硬币里面找到质量轻的一枚假硬币D.百鸡百钱问题二、判断题(共10题,共20分)。26.递归思想是一种直接或间接地调用自身的算法设计方法,通常用于解决那些问题本身可以被分解为更小的相同类型问题的情况。()。27.递推基本思想是通过已知条件,利用递推关系(或递推公式)来求解问题。递推关系通常是一个或多个前项与当前项之间的关系式。()。28.题Python语言编程中,函数如果没有return语句,默认返回None。()。29.题Python语言编程中,如果参数输入的类型不匹配,运行时程序会报错。()。30.使用piplist命令可以查看当前Python环境中所有已安装的第三方库及版本信息。()。31.在Python语言中,函数的核心意义在于将代码模块化、提高代码执行效率,并通过抽象化逻辑降低复杂性。()。32.在Python语言中,函数的关键字实参是通过“关键字=值”方式,将实参与形参关联映射,实参顺序要严格按照形参顺序传递,否则运行结果会发生改变。()。33.小明正在学习求正方形的面积,他用Python语言创建了如下函数,他认为函数没有return返回值运行会错误。()。fun=lambdax:x**234.小明用Python语言写了一个程序,计算从1加到n的总和,他分别用两种方法实现了这个功能。#方法一。total=0foriinrange(1,n+1):total+=i#方法二。total=n*(n+1)//2小明说,方法2比方法1快得多,因为方法1的时间复杂度是O(n+1),而方法2的时间复杂度是O(1)。()。35.分治算法的必要条件之一,是分解后的子问题可以独立求解。()。三、编程题(共3题,共30分)。36.密码安全性。密码离不开大家的生活,各类APP中密码设置简单了,就容易造成损失。为此小明编写程序检测密码是否安全。安全密码的两个条件:①密码长度至少8位,②密码中数字、大写字母、小写字母和特殊符号(!@#$%^&*())这四类符号中必须有3项以上。比如,密码是"ADa%9"(不包括双引号),运行程序后输出"密码不符合安全要求"。利用Python编写程序如下,完善划线处的代码。defcheckpwd(pwd):c=[0]*4flag=Falseiflen(pwd)>=8:________①________foriinpwd:if________②________:c[0]=1elifi>='A'andi<='Z':c[1]=1elifi>='a'andi<='z':c[2]=1elifiin'!@#$%^&*()':________③________if________④________andflag:returnTrueelse:returnFalsepwd=input('请输入密码')ifcheckpwd(pwd):print('密码符合安全要求')else:print('密码不符合安全要求')37.智能家居系统。在智能家居系统中,我们可以通过中央控制系统来管理各个房间的智能灯。为了简化问题,假设每个房间有一个智能灯,其状态用1表示开,0表示关。我们的任务是计算家里所有开着的灯的数量。我们将采用分治算法的思想来解决这个问题。请补全以下代码,使用分治算法实现统计列表中开着的灯(值为1)数量的功能。defcount_lights_on(rooms):#如果列表为空,直接返回0。ifnotrooms:return0#如果列表只有一个元素,直接判断是否为开着的灯。iflen(rooms)==1:returnrooms[0]#将列表分为两部分。mid=________①________left_rooms=rooms[:mid]right_rooms=rooms[mid:]#使用分治递归统计每部分开着的灯的数量。count_left=________②________count_right=count_lights_on(right_rooms)#返回总开着的灯的数量。return________③________#示例测试。rooms=[1,0,1,0,1,0,1]#1代表灯开着,0代表灯关着。print(count_lights_on(rooms))#输出应为4。38.种植花卉。园丁在花园里种植花卉,第1行种5株花。从第2行开始,如果行数能被3整除,该行种植的花卉数量是前一行的2倍;如果行数除以3余1,该行种植的花卉数量比前一行多3株;如果行数除以3余2,该行种植的花卉数量比前一行少1株。下面的递归函数用于计算第n行种植了多少株花卉,请完善划线处的代码。defflower(n):ifn==1:return________①________else:leftover=________②________ifleftover==0:current=________③________elifleftover==1:current=________④________else:current=flower(n-1)-1returncurrenthang=int(input("请输入行数:"))print(f"第{hang}行种植了{flower(hang)}株花卉")答案如下。1.标准答案:B。2.标准答案:C。3.标准答案:A。4.标准答案:D。5.标准答案:D。6.标准答案:D。7.标准答案:D。8.标准答案:A。9.标准答案:A。10.标准答案:D。11.标准答案:A。12.标准答案:C。13.标准答案:B。14.标准答案:A。15.标准答案:A。16.标准答案:B。17.标准答案:C。18.标准答案:C。19.标准答案:A。20.标准答案:C。21.标准答案:B。22.标准答案:C。23.标准答案:C。24.标准答案:D。25.标准答案:D。26.标准答案:正确。27.标准答案:正确。28.标准答案:正确。29.标准答案:错误。30.标准答案:正确。31.标准答案:错误。32.标准答案:错误。33.标准答案:错误。34.标准答案:错误。35.标准答案:正确。36.参考程序。defcheckpwd(pwd):c=[0]*4flag=Falseiflen(pwd)>=8:flag=Trueforiinpwd:ifiin'0123456789':c[0]=1elifi>='A'andi<='Z':c[1]=1elifi>='a'andi<='z':c[2]=1elifiin'!@#$%^&*()':c[3]=1ifsum(c)>=3andflag:returnTrueelse:returnFalsepwd=input('请输入密码')ifcheckpwd(pwd):print('密码符合安全要求')else:print('密码不符合安全要求')37.参考程序。defcount_lights_on(rooms):#如果列表为空,直接返
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年公务艇行业分析报告及未来发展趋势报告
- 2026年口服液制药设备行业分析报告及未来发展趋势报告
- 2026年集菌培养器行业分析报告及未来发展趋势报告
- 2026年皮革工业专用设备制造行业分析报告及未来发展趋势报告
- 2026年单边带收发信机行业分析报告及未来发展趋势报告
- 2026年集装箱涂料行业分析报告及未来发展趋势报告
- 2026年静电空气净化器行业分析报告及未来发展趋势报告
- 2026年玻璃制品行业分析报告及未来发展趋势报告
- 2026年马来酸桂哌齐特行业分析报告及未来发展趋势报告
- 2026年地毯行业分析报告及未来发展趋势报告
- 2026届广东省汕头市金平区重点中学中考语文押题卷含解析
- GB/Z 177.1-2026人工智能终端智能化分级第1部分:参考框架
- 2026江苏苏州工业园区司法工作办公室辅助人员招聘4人考试备考试题及答案解析
- 东莞市2025广东东莞市松山湖管委会总工室专业人才招聘3人笔试历年参考题库典型考点附带答案详解
- 2026年医保服务中心招聘考试试题及答案
- 2026年辽宁省《保密知识竞赛必刷100题》考试题库及参考答案详解(模拟题)
- 贵州旅游集团招聘笔试真题
- 2026中国联通校园招聘面试攻略及模拟题
- 四年级语文下册《在天晴了的时候》跨学科融合导学案
- DB61∕T 2115-2025 中深层地热能开发钻完井技术规程
- 《社会工作综合能力(初级)》课件全套 第1-12章 社会工作服务的内涵 社会工作综合能力(初级)-社会工作服务相关法规与政策 社会工作综合能力(初级)
评论
0/150
提交评论