万卷网> 电子学会考级 >Python等级考试 > 2026年3月电子学会青少年软件编程(Python四级)等级考试试卷

2026年3月电子学会青少年软件编程(Python四级)等级考试试卷
客观题 四级 2026 2026-05-01 13:25:30 122

一、单选题

1.

下面为银行存款计算程序,假设存款利率每年都是0.03,小明有1000元,求存满5年后的总金额,下面Python代码空白处应该填入哪个选项?( )

def interest(total, years, rate=0.03):
        for i in range(years):
                total *= (               )
        return total
print(interest(1000, 5))
A.

total+rate

B.

rate

C.

1+rate

D.

years+ rate

2.

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

def f(lst):
    if len(lst) == 0:
        return 0
    return lst[0] + f(lst[1:])
a= [1,2,3,4]
print(f(a))
A.

3

B.

6

C.

9

D.

10

3.

在Python语言中,匿名函数不需要用return来返回值,执行如下程序段后的结果是?( )

f = lambda x, y : x if x > y else y
result = f(10, 20)
print(result)
A.

10

B.

20

C.

True

D.

False

4.

小明有一堆糖果,他每天吃掉一半加一颗。如果小明连续吃了5天,糖果正好吃完,请问小明最初有多少颗糖果?求解该问题使用的算法思想是?( )

A.

查找

B.

递推

C.

排序

D.

枚举

5.

小明根据课上老师讲的内容编写了以下Python程序,老师发现了错误却依旧可以运行,当前输出结果是?( )

def f(a:int,b:str)->str:
   c=a+b
   print(c)
   return f
f('3','45')
A.

48

B.

75

C.

345

D.

报错

6.

有如下递归函数,执行print(f(3))语句后,函数f被调用的次数是?( )

def f(n):
    if n == 1 or n == 0:
        return n
    else:
        return f(n-1) + f(n-2)
print(f(3))
A.

2

B.

3

C.

4

D.

5

7.

以下关于关键字global和nonlocal的表述中,错误的选项是?( )

A.

global和nonlocal相同点是在函数体内改变非局部变量的值

B.

global声明变量时不能同时对该变量赋值

C.

global声明的变量将变成全局变量

D.

nonlocal能通过局部变量改变全局变量的值。

8.

在Python程序中,以下哪个选项的函数调用能够正确输出结果为:"4年级的李明同学"?( )

函数定义如下:

def student_info(grade, name):
    print(f"{grade}年级的{name}同学")
A.

student_info(4, "李明")

B.

student_info("李明")

C.

student_info("李明", 3)

D.

student_info(grade=4, "李明")

9.

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

def nx(s):
    if len(s) == 1:
        return s
    return nx(s[1:])+s[0]
print(nx('abcda'))
A.

abcda

B.

bcdaa

C.

cdaba

D.

adcba

10.

小明想在Python中导入matplotlib的pyplot模块并设置别名,绘制图表。正确的导入方式是?( )

A.

import matplotlib.pyplot as plt

B.

from matplotlib import pyplot

C.

import pyplot from matplotlib

D.

include matplotlib.pyplot

11.

在Python社团活动中,小明请小伙伴写了以下交换两个变量值的函数,运行代码的输出是?( )

def swap(a, b):
    a, b = b, a
x, y = 1, 2
swap(x, y)
print(x, y)
A.

1 2

B.

2 1

C.

报错

D.

0 0

12.

分治算法的基本思想不包括下列哪个选项?( )

A.

将大问题分解为小问题

B.

递归解决小问题

C.

合并小问题的解

D.

优先解决最困难的子问题

13.

下列关于函数return语句的说法,正确的是?( )

A.

return语句中返回值的数据类型可以是字典,也可以是列表

B.

一个函数中只能有一个return语句

C.

return语句中不能有表达式

D.

return只能返回一个值

14.

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

n = 5
def fun():
    global n
    n = n*2
    print(n)
fun()
print(n)
A.

10

10

B.

5

5

C.

10

5

D.

5

10

15.

小明需要升级安装最新版本的 numpy 库用于数据分析。正确的安装命令是?( )

A.

pip install numpy

B.

pip install --upgrade numpy

C.

pip update numpy

D.

pip install numpy==latest

16.

在Python语言中,当不确定需要传入的值是多少时,可以用*args来表示,执行如下程序段后的结果是?( )

def fun(*args):
    t = 0
    for x in args:
        t += x
    return t
print(fun(1) + fun(2, 3))
A.

1

B.

2

C.

6

D.

程序报错

17.

下列有关递归与递推的描述中,正确的是?( )

A.

递归没有体现“大事化小”的思想

B.

一个问题不能既可以用递归解决,又能用递推来解决

C.

递归有明确结束递归的边界条件

D.

通常递归比递推高效,因为它使用了函数调用

18.

社团活动中,小明给小伙伴们出了一道编程题,请阅读Python程序,下列哪个选项描述是正确的?( )

def demo(n):
  s=1
  for i in range(1,n):
      s*=i
  return s
A.

demo(n)函数的功能是求n-1的阶乘

B.

s是全局变量

C.

n是实参

D.

range()函数不是Python内置函数

19.

下列生活问题中,不适合用分治策略解决的是?( )

A.

猜1到100之间的某个整数

B.

有多个节点的输电线路的故障检测

C.

从一堆硬币里面找到质量轻的一枚假硬币

D.

百鸡百钱问题

20.

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

def mul(x, y=1):
    return x ** y
print(mul(2), mul(1, 2))
A.

2 2

B.

1 2

C.

2 1

D.

1 1

21.

在Python语言中,以下哪个函数调用可以正确输出"计算结果=9"?( )

函数定义如下:

def calc(x, y, z):
    ans = (x + y) * z
    print(f"计算结果={ans}")
A.

calc(1, 3, 2)

B.

calc(1, 2, z=3)

C.

calc(2, x=1, z=3)

D.

calc(z=1, y=2, x=3)

22.

在学习完函数如何传递参数后,老师给出以下Python程序,让大家试运行一下,输出结果是?( )

def demo(x):
    return x * 2

print(demo(demo(2)))
A.

1

B.

2

C.

4

D.

8

23.

小明正在用枚举算法解决一个问题:找出所有满足各位数字之积等于12的三位数。为了提高程序运行效率,他需要选择一个合适的数值范围进行枚举。在以下选项中,哪种数值范围能让算法的执行效率最高?( )

A.

0~999

B.

100~900

C.

126~621

D.

126~431

24.

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

>>>s=lambda a,b:a*b
>>>s(4,4)
A.

4

B.

4,4

C.

16

D.

8

25.

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

def f(n):
    if n == 1:
        return n
    else:
        return n + f(n//2)
print(f(10))
A.

18

B.

55

C.

100

D.

1

二、判断题

1.

小明用Python语言写了一个程序,计算从1加到n的总和,他分别用两种方法实现了这个功能:

# 方法一

total = 0
for i in range(1, n+1):
    total += i

# 方法二

total = n * (n+1) // 2

小明说,方法2比方法1快得多,因为方法1的时间复杂度是O(n+1),而方法2的时间复杂度是O(1)。( )

A.正确 B.错误
2.

小明正在学习求正方形的面积,他用Python语言创建了如下函数,他认为函数没有return返回值运行会错误。( )

fun = lambda x : x ** 2

A.正确 B.错误
3.

Python语言编程中,如果参数输入的类型不匹配,运行时程序会报错。( )

A.正确 B.错误
4.

在Python语言中,函数的核心意义在于将代码模块化、提高代码执行效率,并通过抽象化逻辑降低复杂性。( )

A.正确 B.错误
5.

递推基本思想是通过已知条件,利用递推关系(或递推公式)来求解问题。递推关系通常是一个或多个前项与当前项之间的关系式。( )

A.正确 B.错误
6.

分治算法的必要条件之一,是分解后的子问题可以独立求解。( )

A.正确 B.错误
7.

在Python语言中,函数的关键字实参是通过“关键字=值”方式,将实参与形参关联映射,实参顺序要严格按照形参顺序传递,否则运行结果会发生改变。( )

A.正确 B.错误
8.

使用pip list命令可以查看当前Python环境中所有已安装的第三方库及版本信息。( )

A.正确 B.错误
9.

Python语言编程中,函数如果没有return语句,默认返回None。( )

A.正确 B.错误
10.

递归思想是一种直接或间接地调用自身的算法设计方法,通常用于解决那些问题本身可以被分解为更小的相同类型问题的情况。( )

A.正确 B.错误
公众号
客服 反馈
顶部