2026年3月电子学会青少年软件编程(Python四级)等级考试试卷
操作/编程
四级
2026
2026-05-01 14:27:11
121次
一、编程题
种植花卉
园丁在花园里种植花卉,第1行种5株花。从第2行开始,如果行数能被 3 整除,该行种植的花卉数量是前一行的2倍;如果行数除以3余 1,该行种植的花卉数量比前一行多3株;如果行数除以3余2,该行种植的花卉数量比前一行少1株。下面的递归函数用于计算第n行种植了多少株花卉,请完善划线处的代码。
def flower(n):
if n == 1:
return ①
else:
leftover = ②
if leftover == 0:
current= ③
elif leftover == 1:
current = ④
else:
current =flower(n-1) - 1
return current
hang=int(input("请输入行数:"))
print(f"第{hang}行种植了{flower(hang)}株花卉")
【知识点】 电子学会Python四级
密码安全性
密码离不开大家的生活,各类APP中密码设置简单了,就容易造成损失。为此小明编写程序检测密码是否安全。安全密码的两个条件:①密码长度至少8位,②密码中数字、大写字母、小写字母和特殊符号(!@#$%^&*())这四类符号中必须有3项以上。比如,密码是 "ADa%9"(不包括双引号),运行程序后输出"密码不符合安全要求"。利用Python编写程序如下,完善划线处的代码。
def checkpwd(pwd):
c = [0] * 4
flag = False
if len(pwd) >= 8:
①
for i in pwd:
if ② :
c[0] = 1
elif i >='A' and i <= 'Z':
c[1] = 1
elif i >='a' and i <= 'z':
c[2] = 1
elif i in '!@#$%^&*()':
③
if ④ and flag:
return True
else:
return False
pwd = input('请输入密码')
if checkpwd(pwd):
print('密码符合安全要求')
else:
print('密码不符合安全要求')
【知识点】 电子学会Python四级
智能家居系统
在智能家居系统中,我们可以通过中央控制系统来管理各个房间的智能灯。为了简化问题,假设每个房间有一个智能灯,其状态用1表示开,0表示关。我们的任务是计算家里所有开着的灯的数量。我们将采用分治算法的思想来解决这个问题。
请补全以下代码,使用分治算法实现统计列表中开着的灯(值为1)数量的功能。
def count_lights_on(rooms):
# 如果列表为空,直接返回0
if not rooms:
return 0
# 如果列表只有一个元素,直接判断是否为开着的灯
if len(rooms) == 1:
return rooms[0]
# 将列表分为两部分
mid = ①
left_rooms = rooms[:mid]
right_rooms = rooms[mid:]
# 使用分治递归统计每部分开着的灯的数量
count_left = ②
count_right = count_lights_on(right_rooms)
# 返回总开着的灯的数量
return ③
# 示例测试
rooms = [1, 0, 1, 0, 1, 0, 1] # 1代表灯开着,0代表灯关着
print(count_lights_on(rooms)) # 输出应为4
【知识点】 电子学会Python四级
