6547网题库:2025年9月 Python等级考试(四级)真题及答案

2025年9月青少年软件编程Python等级考试(四级)真题试卷

题目总数:38 总分数:100

选择题

第 1 题 单选题

下列关于Python中函数的描述,不正确的是?( )

A.

函数的定义可以在函数调用语句之后

B.

函数中通过return语句返回结果

C.

函数能提高代码的模块性和代码的复用率

D.

Python中使用def 函数名称 格式定义函数

答案

A

解析

Python中函数的定义必须在函数调用语句之前。

第 2 题 单选题

编写计算两数乘积的匿名函数,下列Python语句中正确的是?( )

A.

lambda a,b:a*b

B.

lambda a,b,a*b

C.

rst = lambda a,b,a*b

D.

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.

0

B.

1

C.

5

D.

None

答案

C

解析

函数中变量s 被global语句定义为全局变量,因此函数中s变成5,在函数外s的值也是5。

第 4 题 单选题

Python定义函数语句中若传入的参数数量不确定,划线处正确的代码是?( )

def myfun(___):

A.

pass

B.

a

C.

a[]

D.

*args

答案

D

解析

Python函数中可变数量参数的传递使用*args。

第 5 题 单选题

有如下Python自定义函数:

def myfun(x,y,z)

return x+y*z

下列语句能正确调用该函数的是?( )

A.

myfun(1,2)

B.

myfun(1,2,3)

C.

myfun(x=1,2,3)

D.

myfun(1,y=2,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本开始逐本查找,直到找到450

B.

随机抽取100本检查,若未找到则换一批

C.

将书分成两堆,依次查找两堆

D.

先找中间第500本书,如果书的编号 < 500,则在1-499中重复折半查找

答案

D

解析

分治算法的核心是分解-解决-合并。选项D正确体现二分查找的分治思想:分解:选择中间点(如500),将问题规模折半(1-499或501-1000)。解决:在子范围内递归查找。 合并:无需合并,直接找到目标。

第 10 题 单选题

老师需要合并两个已排序的学生成绩表(A班:70,80,90,B班:75,85,95),用分治算法合并成一个有序列表。合并过程中,分治算法的关键步骤是?( )

A.

直接拼接两个列表,然后整体排序

B.

随机打乱两个列表,重新排序

C.

逐个比较两列表当前最小元素,按序插入新列表

D.

仅保留高分,丢弃低分

答案

C

解析

分治中的合并操作需高效整合子问题结果。选项C是归并排序的合并逻辑:分解:将列表拆分为单个元素(已有序)。合并:比较两列表最小元素,按序插入新列表。 其他选项:A是暴力排序,非分治;B和D违背合并原则。

第 11 题 单选题

小明用Python语言编写一个递归函数fun()来计算从1加到n的所有整数之和。

比如 1+2+3+4+5 = 15

请为小明编写正确的递归函数,选择正确的选项是?( )

A.

复制代码
def fun(n):
    if n == 0:
       return 0
    else:
       return n + fun(n+1)
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(n+1)
fun(5)

D.

复制代码
def fun(n):
    if n == 5:
       return 5
    else:
       return n + fun(n-1)
fun(1)

答案

B

解析

当n=0时返回0,否则返回n+fun(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) + 1

B.

2*tree(n-1) + 1

C.

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语言编写了如下代码,下列哪个选项能得到正确结果?( )

相关推荐
@我本楚狂人6 小时前
Python MCP实战:构建 FastAPI 服务端与客户端示例&MCP客户端调用
开发语言·python·fastapi
艾上编程6 小时前
第二章——数据分析场景之Python自动化统计分析:高效挖掘数据价值
python·数据分析·自动化
我不是8神6 小时前
消息队列(MQ)核心知识点总结
java·开发语言
轻竹办公PPT6 小时前
上传PDF直接生成PPT,适合工作汇报和总结场景
python·pdf·powerpoint
一起养小猫6 小时前
《Java数据结构与算法》第四篇(一)Java.util包中的树结构实现详解
java·开发语言·数据结构
oioihoii6 小时前
C++ 多线程开发:从零开始的完整指南
开发语言·c++
爬山算法6 小时前
Netty(11) Netty的心跳机制是什么?为什么需要它?
开发语言·python
是有头发的程序猿6 小时前
1688数据采集:官方API与网页爬虫实战指南
开发语言·c++·爬虫
郑州光合科技余经理6 小时前
解决方案:全球化时代下的海外版外卖系统
大数据·开发语言·前端·javascript·人工智能·架构·php