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

一张彩纸厚度为0.2mm,求对折20次后的厚度,下面Python代码错误的地方是?( )

width= 0.2
for i in range(1,20):
   width = width *2
2.

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

def fun(x,y):
   if x >y:
       rst = 2 ** x
   else:
       rst = x ** 2
   return rst
x,y = 3,5
print(fun(x,y))
3.

社团活动中,小明分享一个编好的程序,小伙伴们试运行结果是?( )

def add(*arge):
   s=0
   for i in args:
       s+=i
   return s
s=add(2,3,4,5)
print(s)
4.

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

def js(x,y):
   rst = x * y - x // y
   return rst
x,y = 3,5
print(js(x,y))
5.

在Python中自定义函数f(x,y,z),参数x、y、z是整型变量,下列函数调用语句正确的是?( )

6.

小明用“分治算法”编写了一个函数。他的任务是计算1+2+3+......+100的和。

请选择下列哪一项填入①处,使程序运行成功?( )

def sum_range(start, end):
   if start == end:
       return start
   mid = (start + end) // 2
   return sum_range(start, mid) +    ①    
print(sum_range(1, 100))
7.

光明小学有128位同学参加夏令营,老师为这些学生从1~128编上号码。现在老师随机抽取一个号码,让小明找到这位同学,小明想用二分查找的方法去查找,请问最差情况下需要查找几次才能找到这位同学?( )

8.

以下lambda函数中,哪个会因变量未定义而报错?( )

9.

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

10.

小明每天做俯卧撑,第1天做10个,之后每天比前一天多2个。可以计算5天总训练量的Python递推程序是下列哪个选项?( )

11.

小明的班级有8个同学,每个人身上贴了一个不同的数字,

现在要举办一场”快速排序比赛“,规则如下:

(1)设置两个变量i, j,排序开始时,i=0,j=N-1 。
(2)以第一个元素作为关键数据,将其赋值给key, 即key = A[0] 。
(3)从j开始向前搜索,即由后向前搜索(j--), 找到第一个小于key的值A[j],将A[j]与A[i]交换。
(4)从i开始向后搜索,即由前向后搜索(i++),找到第一个大于key的值A[i], 将A[i]与A[j]交换。
(5)重复第(3),(4)步骤,直到i==j;
(6)分成的前后两组数据,分别再按(1)~(5)递归排序,直到全部数据有序排列。
初始队伍顺序:[5, 3, 9, 1, 7, 2, 8, 6]

请问如果第一趟快速排序后,分组结果是什么?( )

12.

运行以下Python程序,表述中错误的选项是?( )

def de(a,b):
   c=a*2+b
   b=a
   return c
a=10
b=20
c=de(a,b)+b
13.

在Python中显示第三方库的详细信息的pip指令是?( )

14.

某社团志愿者人数每天增长量为前一天的1.5倍,若第1天增长100人,用递归法计算第5天增长量,下面Python代码①处应该填入哪个选项?( )

def growth(n):  
   if n == 1:  
       return 100  
   return     ①
15.

小陈每年存100元,年利率5%,要计算5年后总额(假设年利率没有变化),下面Python程序段采用的算法是哪种?( )

def total_money(n):
   money = 0
   for i in range(n):
       money = (money + 100) * 1.05
   return money
16.

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

def zdz(a):
   m = 0
   for i in range(1,len(a)):
       if a[i] > a[m]:
           m = i
   return m
a = [1,5,6,5,4,3,9,0,8,9]
print(zdz(a))
17.

老师想用 *args 统计学生成绩总和,以下正确的结果是?( )

def total_score(*scores):
   return sum(scores)
print(total_score(80, 90, 70))
18.

生成1-10之间的随机整数,下列程序段不能实现该功能的是?( )

19.

在Python编程语言中,下面程序的输出结果是?( )

def f(a, b, c=0):    return a + b + c
print(f(3, 9))
20.

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

def fac(n):
   s = 1
   for i in range(1,n+1):
       s = s * i
   return s
print(fac(5))
21.

五一节庆到来,各大商场都推出折扣活动,小红打算写一个计算折扣的函数,但调用时报错,以下是小红编写的代码,错误的原因是?( 

def discount(price=100, rate):
   return price * rate
print(discount(80))
22.

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

23.

小明每天跑步距离是前一天的两倍,下列哪个选项可表示第n天距离?( )

24.

小刚用lambda函数计算游戏技能冷却时间,以下代码的结果是?( )

cool_down = lambda t: t // 2 + 5
print(cool_down(10))
25.

某物流公司需要每日处理数十万条配送路线数据,技术团队考虑使用分治算法或顺序查找算法进行路线规划,以优化货车路径并减少燃油消耗。已知城市大部分路线可分解为独立子问题。在以下哪种情况下,分治算法相比顺序查找更具优势?( )

判断题 共 10 题
1.

在Python语言编程中,递归函数必须包含for循环。( )

2.

有如下Python程序,

def jf(a,b=0):
   return a+b

使用语句 jf(10) 调用函数,程序后输出10。( )

3.

函数内修改全局变量时,必须使用global声明,否则会创建同名局部变量。( )

4.

Python语言编程中,必须把每一个循环语句组封装起来,设计成函数。( )

5.

下面的Python程序的时间复杂度是否为O(n2)?( )

n = 1000
total = 0
for i in range(n):
   for j in range(i, n):
       total += 1
print(total)
6.

定义函数时含有位置参数和关键字参数时,关键字参数必须写在位置参数之后,否则会造成语法错误。( )

7.

递推算法必须有明确的递推公式才能实现。( )

8.

将代码封装成函数可以提高程序的执行速度。( )

9.

调用Python库时可以给其取一个别名,如执行语句import numpy as np后,在程序中可以用np代替numpy。( )

10.

在用"分治算法"计算8^4时,为了体现”分而治之“的算法思想,我们可以先把问题分解成8^2 * 8^2,而不是直接计算8*8*8*8。( )

(备注:8^4就是8的四次方)

C++ 编辑器
输入
输出