自学内容网 自学内容网

中国电子学会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      

<


原文地址:https://blog.csdn.net/goodvoice/article/details/142415923

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!