中国电子学会202403青少年软件编程(Python)等级考试试卷(四级)真题
202403Python四级真题
一、选择题
1、运行如下代码,若输入整数3,则最终输出的结果为?()
def f(x):
if x == 1:
s = 1
else:
s = f(x - 1) * x
return s
n = int(input("请输入一个大于1的整数:"))
print(f(n) + f(n - 1))
A.2 B.4 C.8 D.16
2. 运行下列程序,输出的结果是?()
def fun(x):
if x > 3:
return x * fun(x - 1)
else:
return x
print(fun(6))
A.120 B.360 C.720 D.60
3. 下列关于递归的描述不正确的是?()
A.递归函数一定包含if语句
B.递归函数体内一定包含调用自身的语句
C.在调用自身函数时需要明确的边界终止条件与边界值
D.递归算法一般代码简洁,执行效率高,空间复杂度低
4. 运行下列程序,输出的结果是?()
def fun(a, n):
s = 0
for i in range(1, n + 1):
temp = str(a) * i
s += int(temp)
return s
print(fun(1, 3))
A.3 B.6 C.12 D.123
5. 运行下列程序,输出的结果是?()
def fun(a, b):
s = 0
a = a[: -1]
for i in range(len(a)):
s += int(a[i]) * b ** i
return s
print(fun("45", 16))
A.69 B.45 C.64 D.61
6. 一个荷花池,第一天荷花开放得很少,第二天开放的数量是第一天的两倍, 之后的每一天,荷花都会以前一天两倍的数量开放。如果到第30天,荷花就 开满了整个池塘,设第一天开一朵,编程求第30天共开了多少朵荷花。下面 空白处的代码填写正确的是?()
s = 0
t = 1
for i in range(1, ①):
s += t
②
print(s)
A.30, t = t * 2
B.31, t = t * 2
C.31, t += 2
<