分享
分销 收藏 举报 申诉 / 10
播放页_导航下方通栏广告

类型2022.03全国青少年软件编程(Python)等级考试试卷(四级).docx

  • 上传人:二***
  • 文档编号:4680042
  • 上传时间:2024-10-09
  • 格式:DOCX
  • 页数:10
  • 大小:29.10KB
  • 下载积分:5 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    2022.03 全国青少年 软件 编程 Python 等级 考试 试卷
    资源描述:
    2022. 03青少年软件编程(Python)等级考试试卷(四级)分数:100 题数:38一、单项选择题(共25题,共50分)I.关于函数,以下选项中描述错误的选项是?()C A.函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的 输入输出方式即可。 B.使用函数的主要目的是减低编程难度和代码重用。 C. Python使用del保存字定义一个函数。 D.函数是一段具有特定功能的、可重用的语句组。 试题解析:Python使用def保存字定义一个函数。 2. Python机器学习方向的第三方库是?()BTurtleTensorFlowPygame A. Random试题解析:TensorFlow是人工智能领域类的深度学习库。 3. Python可以将形式参数定义为可变参数,即传入函数中的实际参数可以是任意多个, 主要有“"parameter”以及"^parameterv两种形式。以下关于可变参数的定义形式表述 错误的选项是?()AA. ^parameter"这种形式表示接受任意多个实际参数并将其放到一个列表中B.如果想要使用一个已经存在的列表作为函数的可变参数,可以在列表的名称前加 后作为形式参数进行调用C. "^parameter"这种形式表示接受任意多个类似关键字参数一样显示赋值的实际参数 并将其放到一个字典中 D.如果想要使用一个已经存在的字典作为函数的可变参数,可以在字典的名称前加“* 后作为形式参数进行调用试题解析:可变参数^parameter"这种形式表示接受任意多个实际参数并将其放到一个元 组中,如果想耍使用一个已经存在的列表作为函数的可变参数,可以在列表的名称前加“*” 后作为形式参数进行调用;"**parameter”这种形式表示接受任意多个类似关键字参数一 样显示赋值的实际参数并将其放到一个字典中,如果想要使用一个已经存在的字典作为函数 的可变参数,可以在字典的名称前加“**”后作为形式参数进行调用。 4.关于以下程序,运行程序输出的结果是?()B def demo(a, b): 函数的时间复杂度。 def primenumber(number): if number < 2: print (number, 〃不是素数! 〃) else: for i in range(2, number): if number % i == 0: print (number,"不是素数! 〃)breakelse: print (number, 〃是素数! 〃)正确 错误试题编号:20200330-wc-035试题类型:判断题 标准答案:错误试题难度:困难试题解析:判断number是否是素数时,如果在:1〜number/2范围内存在一个数能够将number 整除,那么number就不是素数。例如:number=aXb,当a2number/2时,b〈number/2,当 b^number/2时,a<number/2,所以我们只需在Pnumber/2范围内判断即可。虽然将number 换成number/2,但去系数后,时间复杂度仍为0(n)。 考生答案:正确考生得分:0是否评分:已评分评价描述: 34 .在一个程序实现过程中,假设某一局部的代码功能反复出现了屡次,我们可以把这段反复 出现的代码定义成一个函数,然后在需要的时候调用,这表达了函数代码的复用性。 正确 错误试题编号:20200407-zpf-002试题类型:判断题标准答案:正确 试题难度:容易试题解析: 考生答案:正确考生得分:2是否评分:己评分评价描述: 35 .执行以下代码: def func(list_l): list_l=[5, 8]list_l=[20, 12,53]func(list_l)t二tuple(list_l) print (t)程序输出的结果为:(5, 8) o正确 错误试题编号:20200407-zpf-007 试题类型:判断题标准答案:错误试题难度:一般试题解析: 考生答案:错误考生得分:2是否评分:已评分评价描述: 三、编程题(共3题,共30分). 7个评委给每个选手打分,评委分数中去掉最高分与最低分,计算所得平均分是每个选 手的最后得分,保存2位小数。 根据上述计算规那么,编写自定义函数完成程序功能,完善代码。 〃 〃 〃根据评委分数,计算去掉最高分与最低分后的平均分,保存2位小数 函数名 def getScore(fs): 参数 fs:表示评委的分数,为列表返回值:返回选手的得分,保存2位小数。 〃 〃 〃def getScore (fs): maxfs = 0 minfx = 999999 n =① for f in fs: if f > maxfs: ② elif f < minfx: minfx = f yxf = sum(fs)-maxfs-mi nfx avgfs =③ return avgfsfs = [9. 56, 9. 68, 9. 78, 9. 67, 9. 81, 9. 21, 9. 75]defen = (4)print (defen) 试题编号:20200330-fcl-002试题类型:编程题标准答案: 参考程序: def getScore (fs): maxfs = 0 minfx = 999999 n = len (fs) - 2 for f in fs: if f > maxfs: maxfs 二 felif f < minfx: minfx 二 f yxf = sum(fs)-maxfs-minfx avgfs = int(yxf / n * 100 +0.5) / 100 return avgfsfs = [9. 56, 9. 68, 9. 78, 9. 67, 9. 81, 9. 21, 9. 75]defen = getScore(fs)print(defen) 试题难度:一般试题解析: 评分标准: ①len(fs) - 2或等效答案;(3分)②maxfs = f; (3 分)③int (yxf / n * 100 +0.5) / 100 或等效答案;(4 分)©getScore (fs)。(2 分) 展示地址:点击浏览考生答案:(此题已作答)考生得分:12是否评分:己评分 评价描述: 37.素数是只能被1和本身整除的正整数,编写自定义函数,实现判断正整数是否为素数。 完善程序代码。 〃 〃 〃判断正整数n是否为素数,假设是返回True;否那么返回False函数名 def prime (n)参数 n:表示正整数 返回值:n是素数,返回True;否那么返回False〃 〃 〃def prime (n): if n < 2: return False else: for i in range (①,n): if ②: return False return ③n 二 7 if ④: print (" {}是素数〃.format (n)) else: print (〃 {}不是素数〃.format (n))试题编号:20200330-fcl-007 试题类型:编程题 标准答案: 参考程序: def prime(n): if n < 2: return False else: for i in range(2, n): if n % i == 0: return False return Truen = 7 if prime(n): print (〃 {}是素数format (n)) else: print (" {}不是素数〃.format (n)) 试题难度:一般 试题解析: 评分标准: ①2 ;(2分)②n % i = 0; (2 分)③True ; (2 分)©prime (n) o (2 分) 展示地址:点击浏览 考生答案:(此题已作答) 考生得分:8是否评分:已评分评价描述: 38.编写程序计算n(n<=10)位数中,包含奇数个5的个数。比方1位数中包含奇数个5的 个数是1个。利用递推方法计算n位数包含奇数个5的个数。完善划线处的代码。 c = [[0 for i in range(2)] for i in range(11)] #存放奇数个 5 和偶数个 5 的二维列 表 c[l] [0]二9#一位数中包含偶数个5的个数c[l] [1]=1#一位数中包含奇数个5的个数k = 9 n = 5 for i in range(2, ①): if i 二二 n: k二② = c[i-l] [1] + k * c[i-l] [0] c[i][l]=③ print (c[n] [1])试题编号:20200330-fcl-009 试题类型:编程题标准答案: 参考程序: c =[[0 for i in range (2) ] for i in range (11) ] #存放奇数个 5 和偶数个 5 的二维列 表c[l] [0] = 9#一位数中包含偶数个5的个数c[l][l] = 1# 一位数中包含奇数个5的个数k = 9 n 二 5 for i in range(2, n+1): if i == n: k = k - 1 c[i] [0]= c[i-l] [1] + k * c[i-l] [0] c[i] [1] = k*c[i-l][1] + c[i-l][0] print(c[n] [1]) 试题难度:一般 试题解析: 评分标准: ① n+1 ; (3 分)k - 1 ;(3 分)k*c[i-l][l] + c[i-l][0] o (4 分) 展示地址:点击浏览 考生答案: 考生得分: 是否评分: 评价描述: (此题已作答) 0 已评分 print(a+b)mydict={' a' : 1, ' b' :2}demo(**mydict)demo(*mydict) A. 333 abab 3ab ab 试题解析:如果想要使用一个已经存在的列表作为函数的可变参数,可以在列表的名称前加 后作为形式参数进行调用;如果想要使用一个已经存在的字典作为函数的可变参数,可以在字典的名称前加“**”后作为形式参数进行调用。题目中mydict是一个字典,使用 “**”后进行调用,形参a与b将获得对应键的值,如果使用后进行调用,形参a与b将获得的是一个元组中对应的字符a和b, a+b实现字符串的连接。 5.函数调用时通过“键-值”形式加以指定实际参数,即使用关键字参数,可以让函数更 加清晰、容易使用,关于关键字参数的限制,以下表述中哪一个是错误的?()CA.关键字参数之间不存在先后顺序B.不得重复提供实际参数C.关键字参数可以位于位置参数之前 D.关键字参数必须位于位置参数之后试题解析:函数调用时通过“键-值”形式加以指定实际参数,即使用关键字参数,可以让 函数更加清晰、容易使用,需要注意的是,关键字参数之间不存在先后顺序,但是关键字参 数必须位于位置参数之后。 6 .以下关于函数的说法,错误的选项是?( )BA.函数是一种功能抽象的模块B.使用函数的目的只是为了增加代码复用C.函数的使用包括定义函数和调用函数 D.函数名可以是任何有效的Python标识符试题解析:知识点:函数的相关概念.以下哪个关键字可用来创立自定义函数?()Bfunction A. defclassprocedure试题解析:知识点:自定义函数的创立与调用 8 .关于算法描述正确的选项是?()BA.算法是一种程序设计语言.算法每个步骤必须有确切的定义C.算法就是数值计算方法 D.算法至少要有一个输入试题解析:知识点:算法基础以下哪个不是Python中的内建函数?()Dord (x) A. abs (x)chr (x)def (x).以下选项中,关于python函数参数的说法错误的选项是?()B A.在调用一个函数时,假设函数中修改了实参变量的值,那么对应的形参变量的值也被修改 B.函数一定要有参数和返回值C.位置形参必须在关键字形参的前面D.函数的形参在函数被调用时获得初始值.关于Python的自定义函数的描述,以下哪个选项是错误的?()C A.函数名的命名规那么与变量名的命名规那么相同B.如果有多个参数,各参数之间使用”隔开C.函数没有参数,在函数名后面仍然要保存一对空的“()”,后面不需要加”D.函数体相对于自定义函数的关键字必须保持一定的缩进 试题解析:自定义函数名的命名规那么与变量名的命名规那么相同,如果有多个参数,各参数之 间使用“,”隔开,即使函数没有参数,也必须在函数名后面保存一对空的“()”,冒号不 可缺少,函数体相对于自定义函数的关键字必须保持统一的缩进。 12.执行以下程序,以下选项中哪一项为哪一项错误的?()C def miao(x, y): z=x+y*2 尸x return zx=2 y=3 z=miao(x, y)+yA.该函数名称为miaoB.执行该函数后,变量x的值为2 C.执行该函数后,变量y的值为2D.执行该函数后,变量z的值为11试题解析:调用时函数返回值局部变量x=2, y=2, z=8,调用结束后返回主程序,全局变量 x=2, y=3, c=8+3=llo.可以通过以下哪一个关键字,通过局部变量修改全局变量的值?()B A. nonlocalglobalnonglobalgloball 试题解析:可以通过global关键字,通过局部变量修改全局变量的值。 13 .设有以下函数,运行程序输出的结果是?()def fun(m, n): m-=n return ma=fun (4,1)print(a)1 A. 234试题解析:函数返回4-1的结果。 14 .有如下Python程序,运行该程序后,输出结果为?()Adef fun(s): st=s[l] for i in ranged, len(s)): if len(st)==0 or s[i]!=st[len(st)-l]: st=st+s[i]else: st=st [0: len (st)-11 print (st)fun (〃xxyyzzxyz〃)A. xyzxyzxyz B. xyxyzxxyyz试题解析:i=L st=〃〃; i=2, st=〃y〃; i=3, st=〃〃;i=4, st=〃z〃; i=5, st=〃〃; i=6, st=〃x〃; i=7, st=〃xy〃; i=8, st=〃xyz〃.观察以下代码,说法错误的项是?( )C def fi (n): if n=l or n=2: s=l else: s=fi(n-1)+f i(n-2) return sa二int (input (〃请输入 a 的值:〃))print(fi(a))A.该程序段用递归算法来实现 B.语句“def fi (n): "中的n为形参C.边界条件为n-1D.当a=6时,程序输出8.以下函数要计算1到100自然数的和,那么划线处应补充选项为?()C def su (n): s 二0 while n > 0: return sprint (su (100))n二n-l s=s+nn=n+l s=s+n A. s=s+n n=n-ls二s+n n=n+118.以下关于递归的描述不正确的选项是?()DA.递归函数一定包含条件控制语句 B.递归函数一定包含调用自身的语句C.在调用自身函数时需要明确的边界终止条件D.递归算法一般代码简洁,执行效率高,空间复杂度低19.以下关于递归与递推方法的比拟,正确的观点是?()C A.递推是将复杂问题分解成假设干个子问题,依次降解,求出低阶规模的解,代入高阶问题 中,直至求出原问题的解B.递归是构造低阶规模的问题,并求出解,依次推导出高阶的问题以及解,直至求出问题 的解C.数学上的递推关系可以通过递归的方法来实现D.递归算法代码简洁,运行速度比递推快,因此应该尽量采用递归的方法 20 .以下程序段的运行结果为?()Cdef fun(a): if a<=l: return 1 else: return fun (a-1)*2print (fun (5))48 A. 1625.以下函数要实现5的阶乘,那么划线处应补充选项为?()D def fun (i): if i〈二l: return 1 else: returnprint (fun (5))i*(iT)*(i-2)*...*2*1(iT)*fun(i) A. i*fun(i+l)i*fun(i-l).以下常见算法中,表达分治思想的是?( )DA.解析算法 21 枚举算法C.冒泡排序D.对分查找23.对于序列98, 88, 76, 65, 48, 24,12, 12, 8, 1,采用“对分查找”法查找8,需要查找多少 次?()C A. 5432 试题解析:按二分查找法的规律,每次先查找中间值,进行比拟。 24 .分治法所能解决的问题一般具有以下几项特征,以下哪一项描述不正确?()DA.该问题的规模缩小到一定的程度就可以容易地解决B.该问题可以分解为假设干个规模较小的相同问题,即该问题具有最优子结构性质C.利用该问题分解出的子问题的解可以合并为该问题的解 D.该问题所分解出的各个子问题之间包含公共的子子问题. 一般用于安装Python第三方库的工具是?()Dimportinstall A. setuppip二、判断题(共10题,共20分).如以下图代码,运行之后,最终打印出的结果是4,请判断对错。Y def M(a, b = 2): return a+b print(M(l,b=3))试题解析:默认参数的值被改变了,所以将计算传入的两个参数的值,结果就是4.以下图左右两段代码运行之后,打印出的结果不相同!请判断对吗? 根据题意,该题答案为:错误. def n(a): a=a+2 return a def n(a): a=a+2 return a a=3 n(a) print(a) a=3 n(a) print(a) a=3 n(a) print(a) b=3 n(b) print(b) 正确错误试题编号:20200319-LL-025试题类型:判断题 标准答案:正确试题难度:一般试题解析:第一段代码打印出的结果应该是5,第二段代码变量b的值并没有被改动,打印出的结果是3,所以两段代码结果不同。 考生答案:错误考生得分:2是否评分:已评分评价描述: 26 .为实现以下图左边的打印效果,小明编写了如以下图右边的代码。 请问,他这代码能正确打印出左边效果来吗? Y * **** def n(x): * ***printC*, * x) * **if x = = 1: * *return * n(x-l)n(5)试题解析:基本的递归,函数通过对自身的调用,实现每将调用参数减1,所以,此题正确。 29 .为打印出5、4、3、2、1这个数字序列,小明编写了一个递归函数,如以下图所示。 请问,他这个程序是正确的吗? Ndef n(x): print(x) n(x-l)if x = = 1: return n(5)试题解析:递归在判断之前,程序将永无止境,不会停止,所以,这个程序写错了。正确的 写法,应该把n(xT),放到if判断语句之后。 30 . 1、有abc三个口袋,a袋中有1粒糖,b袋中有2粒糖,c袋中有3粒糖2、小红与小明两人轮流在任意一袋中取糖出来。每次可以在任意一袋中,取任意颗(比方, 可在c袋中取3、2、1任意颗)3、到最后,谁最后一次取,并将所有糖都取完了,谁就获胜,获胜者将得到所有的糖。 小明让小红先取,自己后取。 小红说:不!先取的人肯定会输! 请判断,小红所说,是正确还是错误? ()Y试题解析: 从最简单的开始: 1、如果总共只有1粒糖,那么谁先谁胜;2、如果有两袋,每袋中有1颗,显然谁先谁输: 3、如果有两袋,1袋中1颗,另一袋中有2颗,显然谁先谁胜(只需拿掉2颗中的一颗,剩下条件就变成了上面2,对方先,对方输);4、如果有两袋,每袋都是2颗,显然谁先谁输(如果一次拿掉2颗,那么对方拿剩下的2颗, 对方胜;如果只拿某袋中的1颗,那么变成了上面3,对方先,也是对方胜)5、如果有三袋,每袋1颗,那么显然谁先谁胜 6、如果有三袋,其中两袋有1颗,一袋2颗,显然谁先谁胜,只需将2颗的拿掉,剩下两 个1颗,就是上面2,对方先对方输7、如果有三袋,其中两袋有2颗,一袋1颗,显然谁先谁胜(只需拿掉1颗的,剩下就变 成了上面4,对方先,对方输)8、如果三袋,分别有1、2、3颗,谁先谁输:如果从3中拿1颗,就变成了上面7,对方 先,对方胜;如果从3中拿2,就变成上述6,也是对方胜,如果将3拿完,就变成上述3, 也是对方胜。所以,整个游戏,谁先谁输。 此题,是将复杂问题简化,然后逐步增加难度,直到解决整个问题,是典型的分治算法的思 想。同时,本问题也可编写成Python游戏。 31 .小明听说,使用pygame模块可以编写很多有趣的小游戏,于是他想在自己的电脑上安 装这个模块。(Y )他使用了如下命令进行安装,请问,他下面这条命令正确吗? pip install -i . doubanio. com/simple/ pygame试题解析:这是使用pip命令安装外部模块的基本命令。此题中用法正确。使用了选项-i , 表示从指定网址进行安装,此题是从豆瓣的python仓库中进行安装的。 32 .匿名函数L(xl, yl, x2, y2)的返回值是(x是x2)**2 + (y『y2)**2的计算结果。 L = lambda xl, yl, x2, y2: (xl-x2)**2 + (y-y2)**2 ( Y )试题解析:匿名函数的返回值是其函数体中的表达式的值. primenumber (number)函数是判断一个数是否是素数的函数,将函数的循环条件ufor i in range (2, number) ”更改为"for i in range (2, number//2) ”能够降低 primenumber (number)
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:2022.03全国青少年软件编程(Python)等级考试试卷(四级).docx
    链接地址:https://www.zixin.com.cn/doc/4680042.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork