中国建设报网站,网站建设方案书是什么,oa办公系统开发,泉州制作手机网站2025年9月青少年软件编程Python等级考试#xff08;四级#xff09;真题试卷
题目总数#xff1a;38 总分数#xff1a;100
选择题
第 1 题 单选题
下列关于Python中函数的描述#xff0c;不正确的是#xff1f;#xff08; #xff09;
A.
函数的定义可以…2025年9月青少年软件编程Python等级考试四级真题试卷题目总数38 总分数100选择题第 1 题 单选题下列关于Python中函数的描述不正确的是 A.函数的定义可以在函数调用语句之后B.函数中通过return语句返回结果C.函数能提高代码的模块性和代码的复用率D.Python中使用def 函数名称 格式定义函数答案A解析Python中函数的定义必须在函数调用语句之前。第 2 题 单选题编写计算两数乘积的匿名函数下列Python语句中正确的是 A.lambda a,b:a*bB.lambda a,b,a*bC.rst lambda a,b,a*bD.rst lambda a,b : a * b答案D解析关键字lambda表示匿名函数冒号之前表示的是这个函数的参数冒号之后表示的是返回值在定义匿名函数时需要将它赋值给一个变量。第 3 题 单选题有如下Python程序段执行该程序段后变量s的值是 s 1 def sums(num): global s s 0 s s num sums(5)A.0B.1C.5D.None答案C解析函数中变量s 被global语句定义为全局变量因此函数中s变成5在函数外s的值也是5。第 4 题 单选题Python定义函数语句中若传入的参数数量不确定划线处正确的代码是 def myfun(___):A.passB.aC.a[]D.*args答案D解析Python函数中可变数量参数的传递使用*args。第 5 题 单选题有如下Python自定义函数def myfun(x,y,z)return xy*z下列语句能正确调用该函数的是 A.myfun(1,2)B.myfun(1,2,3)C.myfun(x1,2,3)D.myfun(1,y2,3)答案B解析参数传递数量要一致关键字参数要在位置参数后面。第 6 题 单选题下列关于函数返回值的描述中正确的是 A.函数返回值的数据类型只能是整数B.函数中只能有一个return语句C.return语句中不能有表达式D.函数可以没有返回值答案D解析函数返回值可以是整数、字符串、列表等 函数可以没有返回值。第 7 题 单选题下列关于函数功能的描述中正确的是 A.可以避免编写重复的代码提高代码复用B.函数允许将程序分解为多个模块或组件每个组件负责完成一个特定的任务C.函数提供了一种抽象机制允许我们隐藏实现细节只暴露功能接口D.函数的大量使用增加了阅读程序的难度使得程序可读性变差答案A解析函数的功能代码复用增强可读性。第 8 题 单选题小红打算每次打扫一半区域直到剩余区域≤1平方米时停止。分治算法中递归终止条件是 A.剩余区域 1平方米B.剩余区域 ≤1平方米C.打扫次数超过5次D.每次打扫后检查是否干净答案B解析分治算法的终止条件是问题规模足够小可直接解决。选项B表明当剩余区域≤1平方米时无需再分解直接打扫。其他选项A是继续分解的条件非终止C和D与问题规模无关不符合分治逻辑。第 9 题 单选题图书馆有1000本按编号排序的书1-1000小刚想用分治算法快速找到编号为450的书。分治算法的正确步骤是 A.从第1本开始逐本查找直到找到450B.随机抽取100本检查若未找到则换一批C.将书分成两堆依次查找两堆D.先找中间第500本书如果书的编号 500则在1-499中重复折半查找答案D解析分治算法的核心是分解-解决-合并。选项D正确体现二分查找的分治思想分解选择中间点如500将问题规模折半1-499或501-1000。解决在子范围内递归查找。 合并无需合并直接找到目标。第 10 题 单选题老师需要合并两个已排序的学生成绩表A班:70,80,90B班:75,85,95用分治算法合并成一个有序列表。合并过程中分治算法的关键步骤是 A.直接拼接两个列表然后整体排序B.随机打乱两个列表重新排序C.逐个比较两列表当前最小元素按序插入新列表D.仅保留高分丢弃低分答案C解析分治中的合并操作需高效整合子问题结果。选项C是归并排序的合并逻辑分解将列表拆分为单个元素已有序。合并比较两列表最小元素按序插入新列表。 其他选项A是暴力排序非分治B和D违背合并原则。第 11 题 单选题小明用Python语言编写一个递归函数fun()来计算从1加到n的所有整数之和。比如 12345 15请为小明编写正确的递归函数选择正确的选项是 A.def fun(n): if n 0: return 0 else: return n fun(n1) fun(1)B.def fun(n): if n 0: return 0 else: return n fun(n-1) fun(5)C.def fun(n): if n 5: return 5 else: return n fun(n1) fun(5)D.def fun(n): if n 5: return 5 else: return n fun(n-1) fun(1)答案B解析当n0时返回0否则返回nfun(n-1), 递归调用fun(5)与递归边界和递归公式相符结果正确。第 12 题 单选题植物园里有一棵智慧的老树精叫做“古拉”它的生长能力极强。如果一棵树每年都能长出两棵新树那么从第一年开始第n年总共有多少棵树例如第1年1棵树第2年1 2 * 1 3棵树第3年3 2 * 3 9棵树第4年9 2 * 9 27棵树请你帮忙完善Python递归函数并选择正确的选项 def tree(n): if n 1: return 1 else: return _______________A.2*(2 * tree(n-1) - 1) 1B.2*tree(n-1) 1C.3*tree(n-1)D.2*(tree(n-1)1) - 1答案C解析根据题意递归公式为 3*tree(n-1)递归边界条件为n等于1时返回1。选择C正确。第 13 题 单选题小明正在学习辗转相除法求两数的最大公约数他用Python语言编写了如下程序请问第二次调用gcd()函数时函数实参是多少递归函数总共调用了几次 def gcd(a, b): if a % b 0: return b return gcd(b, a % b) print(gcd(168, 66))A.gcd(168, 66), 4次B.gcd(66, 36), 3次C.gcd(66, 36), 4次D.gcd(36, 30), 3次答案C解析递归函数总共调用了4次调用顺序如下gcd(168, 66)-gcd(66, 36)-gcd(36, 30)-gcd(30, 6)第 14 题 单选题小明在玩爬楼梯的游戏需要爬n阶才能到达楼顶。规定每次只能爬1个或2个台阶编写程序计算一共有多少种不同的方法可以爬到楼顶。小明用Python语言编写了如下代码下列哪个选项能得到正确结果