青少年软件编程等级考试试卷(四级

上传人:jin****ng 文档编号:178322638 上传时间:2022-12-28 格式:DOCX 页数:25 大小:47.98KB
收藏 版权申诉 举报 下载
青少年软件编程等级考试试卷(四级_第1页
第1页 / 共25页
青少年软件编程等级考试试卷(四级_第2页
第2页 / 共25页
青少年软件编程等级考试试卷(四级_第3页
第3页 / 共25页
资源描述:

《青少年软件编程等级考试试卷(四级》由会员分享,可在线阅读,更多相关《青少年软件编程等级考试试卷(四级(25页珍藏版)》请在装配图网上搜索。

1、青少年软件编程(Python)等级考试试卷(四级分数:100.00 题数:38一、单选题(共25题,每题 2分,共 50分)您的姓名: 填空题 *1. 对于数列3,8,11,15,17,19,25,30,44,采用“二分查找”法查找 8,需要 查找多少次?( ) 单选题 *A、5B、4C、3D、2(正确答案)2. 下面哪一项不是 pip 指令?( ) 单选题 *A、pip install ScipyB、pip uninstall JiebaC、pip clear(正确答案)D、pip list3. 有如下Python语句,执行该语句后,结果是?()f=lambda x:5print(f(3)

2、单选题 *A、3B、没有输出C、5(正确答案)D、None4. 执行如下Python代码后,结果是?()def inverse(syn二0):while s:n = n * 10 + s % 10s = s / 10retur n nprint(inverse(456?123)单选题*A、654123B、123456C、123654(正确答案)D、6543215. 下列有关循环和递归的描述正确的是?()单选题*A、递归思想代码清晰简洁,可读性强(正确答案)B、递归代码中不能有循环结构的语句C、递归是从问题的起点出发,逐渐将复杂问题化为简单问题,最终求得问题D、能用递归实现的,一定能用循环代码实

3、现6. 以下有关Python函数的定义表述中错误的是?()单选题*A、函数的定义必须在主程序调用语句之前出现B、在形参列表中必须先列出有默认值的形参,再列出没有默认值的形参(正确答 案)C、实参是实际占用内存地址的,而形参不占用D、def关键字后面加函数名定义函数,定义必须以冒号结尾7. 如下代码运行后下面选项中描述错误的是?()def pph(a.b):c=a*2+bb=areturn ca=10b=100c=pph(a,b)+aprint(a; b; c)单选题*A、执行该函数后,变量a的值为10B、执行该函数后,变量b的值为100C、执行该函数后,变量c的值为200(正确答案)D、该函数

4、名称为pph8阅读下列程序段,数列的第6项值为多少?()def fibo na(x):if x=l or x=2:f二 1for i in r日ngex+1):f=f i b o n a (x-1)+f i bon a (x-2)-广广广广广严广严广严广严广严广严广严广FJretu m fn=int(input(Tt输入数列第几项:“) m=fibo nm(n)printf1 数列的第 r,+str(n)+ri 项的值为,l+str(m)单选题*A、1B、8(正确答案)C、21D、349. 有如下Python的自定义函数,执行该程序后,结果是?()def calcfx.y.op):return

5、 eval(str(x)+op+str(y)单选题*print(calc(3.5/+1)A、8(正确答案)B、35C、NoneD、-210. 有如下Python程序,执行该程序后,结果是?()x = 3def calc():x 二 5printfcalcf)单选题*A、3B、5C、无输出D、None(正确答案)11. 应用分治算法的前提是?()单选题*A、问题的可分性和解的可归并性(正确答案)B、问题的复杂性和解的简单性C、问题的可分性和解的存在性D、问题的复杂性和解的可归并性12. 有一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求 它在第10次落地前,反弹多高?用递归函

6、数解决,下面选项正确的是?()单选def height(n):ifn = l:retu rn 100else:return n*2 print(height(10)Adef height(n):if n = 1:retu rn 100else:return height(n-l)/2print(height( 10)B(正确答案)def height(n):if n 二二 1:return 100else:return height(n+l)/2 (3rint(height(10)cdef height(n):if n = 1:return 100else:return height(n-l)

7、*2print(height(10)d13. 有如下Python程序,执行该程序后,结果是?() g = lambda x,y=3,z=5:x+y+z print(g(2)单选题*A、2B、5C、7D、10(正确答案)14下面的程序输出1100之间能被7整除但不能同时被5整除的所有整数。k=lwhile k101:讦 k%7=0 and k%5 !=0:print(k)k+= 1根据下面哪个选项的方法优化后,程序的运行效率最高?()单选题*A、将k=1改为k=7B、将kC、将 k += 1 改为 k += 7D、将k=1改为k=7,同时将k += 1改为k += 7(正确答案)15. 下列程序

8、段的运行结果为?()def f(n):if n=l:return 1else:return f(n-l)*3print(f(5)单选题*A、9B、27C、81(正确答案)D、24316. 下列选项中,关于如何安装第三方库的说法正确的是?()单选题*A、如果电脑没有联网,仍然可以使用pip工具安装本地的whl文件(正确答案)B、必须使用命令行工具安装第三方库C、第三方库只要可以用pip完整的下载下来,就可以成功安装D、安装上Anaconda就安装了所有的第三方库17. 运行以下程序输出的结果是?()y=2def fun(): global y y=i print(y)fun() print(y)

9、单选题*21A22B1211D(正确答案)18. 下面哪种算法使用了分治的方法?()单选题*A、插入排序B、快速排序(正确答案)C、选择排序D、冒泡排序19. 下面关于递归函数说法正确的是?()单选题*A、一般来说,递归函数的执行效率高于非递归函数B、边界条件和递归关系是递归函数编写的关键(正确答案)C、递归函数的嵌套调用次数没有限制D、递归函数不可以改写为非递归函数20. 观察此题示例代码,以下表述中错误的是?()nums =mng 已 20)for i in nums:nums二list( filterflambda x:x=i or x % i.nums) print(nums)单选题*

10、A、filter()函数输出后是一个数组而不是列表B、示例代码中的关键字lambda表示匿名函数C、lambda x:x=i or x % i,nums中冒号:之前的x是这个函数的参数D、匿名函数需要return来返回值,表达式本身结果就是返回值(正确答案)21. 在一个平面中,有n个圆两两相交,但任二个圆不相切,任三个圆无公共点, 以下函数能计算出n个圆把平面分成的区域个数,空格处填写的语句是?()def c(n):if n=l:return 2else:单选题*A、c(n-1)+2*(n-1)(正确答案)B、c(n-1)+ c(n-2)C、c(n-1)+2*nD、c(n-1)+2*(n+1

11、)22. 有如下Python程序段,执行该程序后,结果是?()deffun(*p):return sum(p)print(fun(13,5)单选题*A、4B、6C、8D、9(正确答案)23. 以下关于全局变量和局部变量的表述正确的是?()单选题*A、如果在函数中定义的局部变量与全局变量同名,则全局变量屏蔽局部变量B、可以通过global关键字,通过全局变量修改局部变量C、nonlocal关键字用来在函数或局部作用域使用内层(非全局)变量D、全局变量的作用域一定比局部变量的作用域大(正确答案)24. 关于以下程序,下列表述中错误的一项是?()C=1def f un(n):a=lfor b in

12、rangefl.n):a*=b单选题*return a n=int(input(rEnter n=F) prin t(fun(n)?c)A、c是全局变量,a是局部变量B、n是形式参数,当n=5时,程序输出120 1(正确答案)C、程序实现求阶乘D、range()函数是python内置函数25. 以下程序的运行结果是?()def f(xyz): printtw.z)f(z 乜 x=2,尸 1)单选题*A、3 2 1B、1 2 3C、2 1 3(正确答案)D、3 1 2二、判断题(共10题,每题2分,共20分)26. 所有的Python第三方库均可以使用pip工具进行安装。单选题* 对错(正确答案

13、)27. 算法的时间复杂度与空间复杂度没有必然关系。单选题*对(正确答案)错单选题28. 在创建自定义函数时,即使函数没有参数,也必须保留一对空的()*对(正确答案)错29. 执行以下代码:29.执行以下代码:def fun( mvlist):mylist,append (1.2.3-4)printC1函数内取值二mylist) returnmylist = 5.6/7fun( mvlist)print(函数外取值: mylist)程序输出的结果为:函数内取值:5* 6, 7t 1, 2, 3, 4 函数外取值:6, 7,1, 2f 3f 4.单选题*对(正确答案)错30. 定义Python函

14、数时,如果函数中没有return语句,则该函数返回值是None。单选题*对(正确答案)错31. 执行以下代码:sum 二 0def fun(argl,arg2): sum=argl+arg2 print(sum) return sum funtSJO) prin t(sum)程序输出的结果为:15单选题*对错(正确答案)32. 对于一个复杂问题,如果所分解出的各个子问题之间相互不独立,则不适合使 用分治算法。单选题*对(正确答案)错33. 执行以下代码:def fun( name, age = 30 ): print(HNam已:;name) print(MAge:r age) retur n

15、fun( age=40. name=l,summyH)fun( namesummyH)程序输出的结果为:单选题*Name: summy Age: 40对错(正确答案)34. 下列程序段运行后的结果是2。def change(a7b):a?b=b,areturn aa=2b=3printfchangetchangefab)单选题 对(正确答案)错35. 对于斐波那契数列:1, 1, 2, 3, 5,,我们只能采用迭代公式以递推的方式求解。 单选题 *对错(正确答案)三、编程题(共3题,共30分)36. 在编写抽奖程序时,为了保证一个人只有一次中奖机会,要检查新抽出来的数 字是不是已经被抽中过了。

16、一种办法是将已经中过奖的人员编号存放在test_list里 面,然后每抽出一个新的人员编号,判断它是否在中奖人员列表中。如果没有在中奖人员列表中,说明中奖号码有效,并将它保存进中奖人员列表;如 果已经在里面了,就再生成一个新的人员编号。请你补全下面的代码,实现判断一个数字是否在列表中的功能#子问题算法(子问题规模为 def is in listfinit lisl.num):if init listO = num:return Truereturn False#分治法def find out(init list.num:n = lenfinit list)if#如果问题的规模等于匚 直接解决r

17、eturn is in list(init list.num#分解(子问题规模为n/2)left_list;right_list =#递归,分治合并res=find outfleft listyinunn) (3) find out(right list,numlreturn resif _nanne_ =_main_#测-试数据t&st_li&t = 18,43,213,28,2,46,2532,404436#杳找printf)程序运行结果:True填空题*37. 乘法运算等于多个加法运算的和。比如,3x2可以理解为3+3,也可以理解为 2+2+2。下面的程序使用递归算法演示了计算两个自然数

18、的乘积的过程。请你补全代码。 输入:分两次输入自然数numl,num2输出:numl x num2 =乘积def cheng fafnunril.numZ.value):忏;value += 0else:value += numlvalue = cheng_fa(吕 lue) returnnunnl=ifit(input(,输入第 1 个数:) nunn2=int(input(,输入第 2 个数:) value=Ovalue = chenHfatnuml.numZ.valueprint( X = .format!numlynum2,value)程序运行结果:输入第1个数二3输入第2个数 7填空

19、题*3X7 = 2138. 外卖送餐服务越来越受到人们的喜爱,外卖小哥们也成了路上的一道风景当顾客使用外卖软件点餐时,会出现一个预计送达时间,包括了餐厅制作食物的时 间,路上的骑行时间等等。一种常用的计算路上骑行时间的方法是用曼哈顿距离(manhatton distance)除以平均 骑行速度。平面上点A(xl,yl)与点B(x2,y2)的曼哈顿距离为:Ixl-x2l+lyl-y2l。假设一名外卖小哥的平均骑行速度为30km/h。下面的程序模拟计算外卖小哥的路 上骑行时间,请你补充完整。输入:分两次输入A点和B点的坐标值输出: A、B 两点间的曼哈顿距离和路上骑行时间def nfiy_abs(

20、n:if :return nel&e:return#主程序姑二30#平均骑行速度xl=float(input(tt入 A 点的)c 坐标米)s yl=float(input(tt入 A 戊的 y 坐标米):)x2=flwt(inputr输入B点的鶯坐标(米1 ;)y2=float(i叩in(输入E点的丫坐标(米):)咁算路上骑行时间thie_road)#计算曼哈顿距离mhtmht =(3)ti nn e_o n_t h e_road =printfA. B两点的曼哈顿距离為米,仙伽t(j辿切 卩血(预计路上骑行时间需要分钟.forrratttime程序运行结果:输入A点的坐标(米),以逗号分隔:-1000J000 输入吕点的坐标(米),以逗号分隔:1000,-1000 A. B两点的曼哈顿距离為4000米预计路上骑行时间需要&0分钟填空题*

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!