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

2025年12月电子学会青少年软件编程(Python四级)等级考试试卷
操作/编程 四级 2025 2026-01-16 17:36:01 61

一、编程题

1.

回文单词

某同学收集了很多单词,不同的单词之间用'-'拼接在一起,如'refer-level-face-',他发现有些单词如level,从左往右读和从右往左读该单词是一样的,称之为回文单词。他想统计他收集的单词中有多少个回文单词。步骤如下:(1)首先将单词按'-'分割出所有单词,(2)统计这些单词中回文单词的数量。编写的Python代码如下,完善划线处的代码。

def revstr(str):
    if len(str) == 1:
        return         ①        
    else:
        return         ②        
word = 'refer-level-face-'
wordlst = []
s = ''
for t in word:
    if t !='-':
                ③        
    else:
        wordlst.append(s)
        s = ''
c = 0
for w in wordlst:
    rev = revstr(w)
    if        ④        :
        c += 1
print('对称的字符串个数有',c)
2.

在生物课实验中,有一个细胞,每分钟会分裂一次。前 2 分钟,它每次分裂会变成 2 个新细胞;从第 3 分钟开始,每次分裂会变成 3 个新细胞。下面的递归函数用于计算12分钟后细胞的总数,请完善划线处的代码。 

def cell_division(n):
    if n == 0:
        return         ①        
    elif n <= 2:
        return        ②        
    else:
        return         ③        
print(        ④        )
3.

素数是指大于1的自然数,且只能被1和它本身整除的数。孪生素数是指差值为2的两个素数,例如 (3, 5)、(11, 13) 等。问题:给定一个整数 n,请编写程序输出所有小于等于 n 的孪生素数对,按升序排列。 补全下列程序代码。

def  is_prime(num):
    if         ①        :
        return False
    for i in range(2, num):
        if         ②        :
            return False
    return         ③        
def  find(n):
    for i in range(2,n-1):
        if is_prime(i) and         ④        :
            print(i, i + 2)
n = int(input())
find(n)
公众号
客服 反馈
顶部