2024年12月电子学会青少年软件编程(Python四级)等级考试试卷
剩余时间 --:--:--
单选题 共 25 题
1.

以下关于列表p内元素排序程序的时间复杂度为?( )

for a in range(n-1):
   for b in range(n-1-i):
      if(p[b]<p[b+1]):
           tmp=p[b]
           p[b]=p[b+1]
           p[b+1]=tmp
2.

运行下列代码,输出结果为?( )

def fun(x, y, z):
    print(z, x)
fun(1, 2, 3)
3.

下列程序用递推的方法求数列的值,执行该程序后输出结果是?( )

def fib(n):
    a=b=1
    for i in range(3,n+1):
        c=a+b
        a=b
        b=c
        print(c)
fib(7)
4.

某农户养了若干只鸡。第一天卖掉其中一半加一只,以后每天都卖掉剩下的一半加一只。到第8天的时候发现只剩一只鸡了。请问该农户一开始有多少只鸡? 这个问题用下列什么算法解决?( )

5.

下列哪个命令能显示电脑上已安装的Python库?( )

6.

以下有关位置实参和关键字实参的表述中,错误的选项是?( )

7.

Python中,无需导入math库,可以直接使用的函数是?( )

8.

阅读下列程序,运行结果正确的是?( )

def f(x):
    if x==1:
        return 0
    else:
        return (x*x-1)+f(x-1)
print(f(3))
9.

小明喜欢画画,他有一张大画布,画布上有一个大正方形。他想知道如果把这个大正方形分成4个小正方形,然后再把这4个小正方形各自再分成4个更小的正方形,这样一直分下去,最后会得到多少个正方形?根据解题思路请在下面横线上填上正确代码?( )

def fun(n):

    if n == 0:

        return 1

    else:

        return _________

print(fun(4))

10.

Python中导入math模块中的sqrt(x)函数,下列程序段错误的是?( )

11.

有如下Python程序,执行该程序后输出的结果是?( )

def jc(a):
    if a ==1 :
        return 1
    else:
        return a * jc(a-1)
print(jc(jc(3)))
12.

如下代码,运行之后,最终打印结果是?( )

def P(a,b=3): 
     a=2 
     return a*b 
print(P(3,4))
13.

下面关于递归函数的说法,正确的是?( )

14.

运行以下代码,请输出结果?( )

x = 0
def fun():
    global x
    x += 10
print(x)
fun()
print(x)
15.

关于计算圆锥体积的匿名函数的定义和使用,以下哪一个语法格式是正确的?( )

16.

以下关于global关键字表述正确的是?( )

17.

以下是比较两个数的大小的函数,输出结果为?( )

def fun(a, b, c):
    if a > b:
        c = a
    else:
        c = b
print(fun(1, 2, 3))
18.

调用以下自定义函数时,将实参与形参进行关联,方式错误的是?( )

def f(a,b,c):
    print(a,b,c)
19.

运行以下代码,请输出结果?( )

def fun(n):
    s = 0
    for i in range(n):
        s += i
    return s
print(fun(10))
20.

运行以下代码,请输出结果?( )

def fun(x):
    return x * x
print(fun(fun(fun(2))))
21.

现有24颗药丸,重量都是0.1g,其中一颗药丸不小心被污染了,外观没有变化,但是重量变重了。如果有一架天平,最多只能称重四次,要把这个被污染的药丸找出来。这个问题可以用下列哪种算法思想解决?( )

22.

物理实验课的电路故障分析,有一块电路板的AB两点间串联线路不通,是由于其中一处焊口脱落造成的。假设AB线路间有100个焊接点,现用二分法检测,找出焊口脱落点,至多需要检测多少次?( )

23.

下列关于递推算法思想的描述正确的是?( )

24.

小明的妈妈在超市里买了一些商品,商品的价格放在列表里,现在超市对商品进行打折处理,请运行如下代码输出结果?( )

def fun(lst):
    total = 0
    for x in lst:
        if x >= 100:
            total += x * 0.5
        else:
            total += x
    return total
goods = [140, 90, 120, 60]
print(fun(goods))
25.

以下选项中,关于python函数参数的说法正确的是?( )

判断题 共 10 题
1.

Python3.5之后的版本新增了对函数参数和返回值的类型指定和检查,新建变量时也可以指定类型。以下代码,只能接受str类型的参数,否则就会报错。( )

def say(name:str, greet:str)->str:
    return name + greet
print(say("小明", "你好!"))
2.

运行如下代码:

fun = lambda x, y = 10 : y - x

print(fun(5, 8))

运行结果为:5。( )

3.

运行如下代码,输出结果为5。( )

x = 1
y = 5
def fun():
    global x
    x = 4
    y = 3
    if y > x:
        return y
    else:
        return x
print(fun())
4.

函数中return语句可以有任意个,但是在函数运行过程中只会执行其中一个。( )

5.

在混合使用位置实参、关键字实参时,对应函数中有默认值的形参与没有默认值的形参位置没有要求,都可以通过关键字实参传值。( )

6.

时间复杂度是用来衡量算法效率的重要指标,可以反应数据规模和代码执行时间之间关系。( )

7.

求斐波那契数列第n项可以用递归思想解决,也可以用递推思想解决。( )

8.

将一个难以直接解决的大问题,分类整理成几种规模较小的不同类问题,再分别击破的方法,就是分治算法。( )

9.

安装Python第三方库只能使用pip命令。( )

10.

定义函数或过程时,如果函数在内部调用函数本身,这个函数就是递归函数。( )

C++ 编辑器
输入
输出