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

小明正在学习辗转相除法求两数的最大公约数,他用Python语言编写了如下程序,请问第二次调用gcd()函数时,函数实参是多少?递归函数总共调用了几次?( )

def gcd(a, b):
   if a % b == 0:
       return b
   return gcd(b, a % b)
print(gcd(168, 66))
2.

下列关于Python中函数的描述,不正确的是?( )

3.

更新已安装的matplotlib库到最新版本,应使用的命令是?( )

4.

有如下Python程序段,执行该程序段后,变量s的值是?( )

s = 1def sums(num):
   global s
   s = 0
   s = s + num
sums(5)
5.

有如下Python自定义函数:

def myfun(x,y,z)

   return x+y*z

下列语句能正确调用该函数的是?( )

6.

下列关于函数返回值的描述中,正确的是?( )

7.

小张想用Python爬取网页数据,老师建议安装requests库。正确的安装命令是下列哪个选项?( )

8.

自定义函数按性别处理学生身高与体重的体测数据,下列Python函数中参数设计最合理的选项是?( )

9.

Python定义函数语句中若传入的参数数量不确定,划线处正确的代码是?( )

def myfun(___):

      pass

10.

小明和小红在玩一种数字游戏。游戏规则如下:

(1)小明先从整数1开始写下一个数字;

(2)接下来,小红会将当前数字加3后写下新的数字;

(3)然后小明会将当前数字乘以2后写下新的数字;

(4)两人轮流按照这个规则操作,直到写下的数字第一次超过100为止。

请根据游戏规则模拟推理游戏结果?( )

11.

图书馆有1000本按编号排序的书(1-1000),小刚想用分治算法快速找到编号为450的书。分治算法的正确步骤是?( )

12.

自定义游戏得分计算函数,下列Python函数调用结果正确的是?( )

def calc_score(base, bonus=10):
   return base + bonus
print(calc_score(50))
13.

小明用Python语言编写一个递归函数fun()来计算从1加到n的所有整数之和。

比如 1+2+3+4+5 = 15

请为小明编写正确的递归函数,选择正确的选项是?( )

14.

小红打算每次打扫一半区域,直到剩余区域≤1平方米时停止。分治算法中,递归终止条件是?( )

15.

下列关于函数功能的描述中正确的是?( )

16.

小明在玩爬楼梯的游戏,需要爬n阶才能到达楼顶。规定每次只能爬1个或2个台阶,编写程序计算一共有多少种不同的方法可以爬到楼顶。

小明用Python语言编写了如下代码,下列哪个选项能得到正确结果?( )

def fun(n):
   if n in (1, 2):
       return n
   f1, f2, res = 1, 2, 0
   for i in range(3, n+1):
       __________
   return res
17.

想用lambda函数快速实现两数相加,正确的写法是?( )

18.

自定义函数def weather(city,unit='C'),调用函数时参数传递正确的是哪个选项?( )

19.

老师需要合并两个已排序的学生成绩表(A班:70,80,90,B班:75,85,95),用分治算法合并成一个有序列表。合并过程中,分治算法的关键步骤是?( )

20.

小兔子有一堆胡萝卜,它每天都会吃掉原来的一半再多吃一根。 这样连续吃了3天,发现只剩下1根胡萝卜了。小兔子想知道第一天有多少根胡萝卜并且递推公式是什么,请选择正确的选项?( )

21.

关于Python自定义函数,下列说法正确的是?( )

22.

植物园里有一棵智慧的老树精叫做“古拉”,它的生长能力极强。如果一棵树每年都能长出两棵新树,那么从第一年开始,第n年总共有多少棵树?

例如:

第1年:1棵树

第2年:1 + 2 * 1 = 3棵树

第3年:3 + 2 * 3 = 9棵树

第4年:9 + 2 * 9 = 27棵树

请你帮忙完善递归函数,并选择正确的选项?( )

def tree(n):
   if n == 1:
       return 1
   else:
       return _______________
23.

自定义温度转换函数,下面Python代码横线处填入正确的是哪个选项?(  )

def celsius_to_fahrenheit(c):

   _______ c * 9/5 + 32

24.

编写计算两数乘积的匿名函数,下列语句中正确的是?(  )

25.

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

判断题 共 10 题
1.

Python语言编程中,def buy(fruit="苹果", num):是合法参数定义。( )

2.

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

3.

Python中编写自定义函数时,不能没有参数。( )

4.

阅读以下Python代码:

def fact(n):    if n <= 1:
       return 1
   else:
       return n*fact(n-1)
def fact2(n):
   s = 1
   for i in range(1, n+1):
       s = s * i
   return s

上述Python语言编写的两个函数,它们实现的功能是一样的。( )

5.

定义一个函数时可以没有参数,也可以有多个参数,但是参数的个数必须是确定。( )

6.

Python语言编程中,lambda x: x+1可以赋值给变量使用。( )

7.

分治算法在所有场景下都比暴力枚举法效率更高。( )

8.

算法的时间复杂度反应了程序执行时间随问题规模增长而增长的量级,在很大程度上能很好地反映出算法的优劣。( )

9.

递归算法有明确的结束递归的边界条件(又称终止条件)以及结束时的边界值,可以通过循环结构实现。( )

10.

Python函数必须有返回值。( )

C++ 编辑器
输入
输出