理论卷2025年12月青少年软件编程(Python) · 四级
YLT Python 4级 2025.12
满分 100 · 及格 60 · 时长 60 分钟 · 共 38 题 (单选25 / 判断10 / 填空3)
试卷阅览 · 免费预览前 10 题 · 交卷后可查看答案与解析
1
单选题号 #17416
分值 2下列问题体现分治算法思想的是?( )
A
打印 以内的素数
B
输出 以内能被 整除的整数
C
求长方体的体积
D
用快速排序算法对 个整数升序排序
2
单选题号 #17417
分值 2编写如下 Python 代码求两个数的最大公约数,划线处选择合适的代码?( )
def gcd(m, n):
if m % n == 0:
return n
else:
return _________
print(gcd(49, 28))
A
gcd(n,m%n)
B
gcd(m,m%n)
C
gcd(m%n,n)
D
gcd(m%n,m)
3
单选题号 #17418
分值 2有如下 Python 程序,执行程序后输出的结果是?( )
def fib(n):
a = b = 1
for i in range(3,n+1):
c = a + b
a = b
b = c
return c
print(fib(5))
A
3
B
None
C
5
D
8
4
单选题号 #17419
分值 2小明每天存钱,第一天存 元,之后每天存前一天的 倍。他想用递归算法求出第几天可以存到 元。请问以下 Python 程序的递归调用次数是?( )
def save_days(amount, target=32):
if amount >= target:
return 0
return 1 + save_days(amount * 3)
print(save_days(1))
A
4
B
5
C
6
D
7
5
单选题号 #17420
分值 2小明每天存钱,第一天存 元,之后每天存前一天的 倍。小明编写的 Python 程序,若递归函数缺少终止条件,会导致什么问题?( )
A
计算结果不准确,但能正常结束
B
程序陷入无限循环,无法停止
C
程序运行报错
D
计算结果正确,但效率降低
6
单选题号 #17421
分值 2老师用递归函数计算连续自然数 到 的和,调用 sum_r(5) 时实际递归调用了几次函数?( )
def sum_r(n):
if n == 1:
return 1
return n + sum_r(n-1)
A
7
B
6
C
4
D
5
7
单选题号 #17422
分值 2递归算法的 Python 程序实现问题,下列说法正确的选项是?( )
A问题的规模越大,递归算法的效率越高
B需要使用循环语句
C有明确的结束递归的边界条件
D无需结束递归的边界条件
8
单选题号 #17423
分值 2小美想用递归算法实现字符串反转,以下代码能正确反转字符串,划线处应该填写哪个选项?( )
def r(s):
if len(s) <= 1:
return s
return r(_____) + s[0]
s='abcde'
print(r(s))
A
s[::-1]
B
s[:]
C
s[:1]
D
s[1:]
9
单选题号 #17424
分值 2家里有 平方米的房间要打扫,小明和小红两兄妹分别想解决打扫的问题。小明想用递归的方法解决“打扫房间”的问题:每次打扫一半区域,直到剩余区域小于 平方米。以下哪项是递归解决此问题的核心思想?( )
A
将大房间拆分成多个小房间,同时打扫所有小房间
B
每次打扫房间剩余的一半区域,直到剩余区域小于 平方米
C
先打扫整个房间,再逐步缩小范围检查是否干净
D
随机选择区域打扫,直到剩余区域小于 平方米
10
单选题号 #17425
分值 2小明写了一个关于计算梯形面积的函数,运行如下 Python 代码的结果是什么?( )
def s(a, b, h):
area = (a + b) * h / 2
print(s(1, 2, 2))
A
2
B
2.0
C
3.0
D
None
🔒
已解锁前 10 题
第 11~38 题(共 28 题)需开通题库会员或使用积分包作答
本卷为 VIP 试卷:需开通题库会员(无限刷)或购买积分包(每题 1 积分);已购长期正课学员自动享有权益
