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

有以下食堂点餐Python函数,现需要点"牛肉面"、不点甜品(dessert),下列四个点餐选项中最合适的是?( )

def order_meal(food, dessert=None):

    ...

2.

小明写了一个关于计算梯形面积的函数,运行如下Python代码的结果是什么?( )

def s(a, b, h):
    area = (a + b) * h / 2
print(s(1, 2, 2))
3.

编写如下Python代码求两个数的最大公约数,划线处选择合适的代码?( )

def gcd(m, n):
    if m % n == 0:
        return n
    else:
        return _________
print(gcd(49, 28))
4.

递归算法的Python程序实现问题,下列说法正确的选项是?( )

5.

小美想用递归算法实现字符串反转,以下代码能正确反转字符串,划线处应该填写哪个选项?( )

def r(s):
    if len(s) <= 1:
        return s
    return r(      ) + s[0]
s='abcde'
print(r(s))
6.

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

a = 5
def fun():
    global a
    a = a *2
    print(a)
fun()
print(a)
7.

下列有关Python自定义函数的描述,正确的是?(  )

8.

下列问题体现分治算法思想的是?( )

9.

小明每天存钱,第一天存1元,之后每天存前一天的2倍。

他想用递归算法求出第几天可以存到32元。请问以下Python程序的递归调用次数是?( )

def save_days(amount, target=32):
    if amount >= target:
        return 0
    return 1 + save_days(amount * 3)
print(save_days(1))
10.

在Python语言编程中,以下哪个函数调用后,可以打印输出欢迎语“Welcome!”?( )

11.

小明每天存钱,第一天存1元,之后每天存前一天的2倍。 小明编写的Python程序,若递归函数缺少终止条件,会导致什么问题?( )

12.

在Python语言中,导入第三方库的语法正确的是哪一项?( )

13.

老师用递归函数计算连续自然数1到5的和,调用sum_r(5) 时实际递归调用了几次函数?( )

def sum_r(n):
    if n == 1:
        return 1
    return n + sum_r(n-1)
14.

有如下Python自定义函数,能正确调用该函数的选项是?( )

def f(a,b,c)
    return a-b/c
15.

在Python语言中,运行如下代码,执行结果正确的是?( )

x = 10
def fun(x):
        print(x)
        x = 5
fun(x)
print(x)
16.

在下列Python代码中,将data变为全局变量,横线处应该填入的是?( )

data = 0
def add_data():
    ______ 
   data+= 2  # 修改全局变量
17.

小张想用lambda函数计算两个数的和,正确的写法是?( )

18.

下面Python代码的输出结果是?( )

def add(x=2, y=3):
    return x + y
print(add(y=5))
19.

小明正在用Python编写一个“魔法数字盒”程序。这个数字盒有一个特殊功能:每次按下按钮时,数字会根据内部规则变化。以下是程序的一部分代码,如果小明连续按下按钮两次,屏幕上会显示什么数字?( )

def magic_box():
    num = 0  # 初始数字是0
    def press_button():
        nonlocal num
        num += 1  # 每次按下按钮,数字加1
        return num
    return press_button
button = magic_box()
print(button())  # 第一次按下按钮
print(button())  # 第二次按下按钮
20.

在Python语言中,可以使用pip命令安装第三方库,以下哪个命令是安装命令?( )

21.

在Python语言编程中,创建一个自定义函数,用于统计图书借阅次数,以下正确的无参函数定义是?( )

22.

有如下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))
23.

家里有16平方米的房间要打扫,小明和小红两兄妹分别想解决打扫的问题。 小明想用递归的方法解决“打扫房间”的问题:每次打扫一半区域,直到剩余区域小于1平方米。 以下哪项是递归解决此问题的核心思想?( )

24.

Python3.5之后的版本新增了对函数参数和返回值的类型指定和检查,运行如下代码块,结果正确的是?( )

def fun(a:int, b:int)->int:
    if(a > b):
        return a + b
    else:
        return b
print(fun("3", "2"))
25.

下列哪种情况的程序,时间复杂度最低?( )

判断题 共 10 题
1.

在Pyhon语言中,nonlocal关键字用来在定义局部变量的同时,修改全局变量的值;global关键字用来在函数或局部作用域使用外层(非全局)变量。( )

2.

Python语言编程中,递归函数可以没有终止条件,只要问题规模能自动缩小到最小值。( )

3.

对于斐波那契数列,递推算法的时间复杂度远低于递归算法。( )

4.

小明想用Python画一幅彩色的图画,他听说可以使用一个叫turtle的库来完成。因此,必须打开命令窗口输入"pip install turtle"来安装这个第三方库。( )

5.

时间复杂度为O(n)的程序,比时间复杂度为O(n2)的程序执行效率要高。( )

6.

在Python中,自定义函数的函数体内必须有return语句。( )

7.

分治思想是将一个大问题分解成若干个小问题,分别解决这些小问题,然后再将小问题的解合并起来以解决原始的大问题。程序实现时必须使用递归程序。( )

8.

Python语言中,全局变量的作用域是整个程序,局部变量的作用域是函数内部。所以执行以下代码块打印输出是"wang"。( )

name = "zhang"
def fun(name):    
    print(name)
    name = "wang"
fun(name)
9.

Python语言编程中,函数convert = lambda x: str(x)可以把数字转为字符串。( )

10.

函数参数**kwargs可以接收学号-姓名键值对。( )

C++ 编辑器
输入
输出