青少年软件编程(Python)等级考试试卷(四级)2024年3月

电子学会2024.03青少年软件编程(Python)等级考试试卷(四级)

一、单选题

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

D.30,t*=2

7.解决下列问题时,时间复杂度最大的是? (    )

A.输入n个不同的包含两位小数的实数,计算这n个数的和

B.在n个数据中,查找数据 k

C.将n个数据用冒泡排序实现排序

D.计算算式 1-2+3-4+..-n的结果,n为偶数

8.以下关于分治算法的描述正确的是? (    )

A.各个子问题既相互独立又相互联系

B.问题可以分解成若干个规模较小的相同问题

C.可以直接对问题进行求解

D.子问题的解不能合并成原问题的解

================================================

答案和更多内容请查看网站:【试卷中心 -- Python 四级】

网站链接 

青少年软件编程历年真题模拟题实时更新

================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

No0d1es

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值