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

2025年9月电子学会青少年软件编程(Python五级)等级考试试卷
操作/编程 五级 2025 2025-10-23 12:37:35 102

一、编程题

1.

寻找缺失数

在一个学校的年度校园活动中,组织者需要为参与者分配不同的编号,以便进行抽奖和其他活动。他们决定使用长度为n-1的列表a来存储参与者的编号,这些编号是从1到n的整数,且没有重复。

现在,他们需要找出在区间[1,n]范围内没有出现在列表a中的那个整数,以便为这个编号进行特别的奖励。如当n=5时,a[0]=5,a[1]=4,a[2]=1,a[3]=3时,列表a中缺失的数为2。程序输出结果如下所示:

----------程序运行结果----------

请输入一个整数n:5

[5, 4, 1, 3]

列表中缺失的数为: 2

Python代码如下,请在划线处填上合适的代码.

from random import randint

n=int(input("请输入一个整数n:"))

a=[]

c=1

while c<n:

    x=randint(1,n)

    if          ①        :

        a.append(x)

               ②        

s=n*(n+1)//2    #s得到1~n的累加和

for i in range(n-1):  

           ③        

print(a)

print('列表中缺失的数为:',s)

2.

状态关键词

小李将一个月内某平台上每天的状态关键词(美滋滋、忙、疲惫......)保存在了文本文件"state.txt"中,现在他编写了一个Python程序,用来统计一个月内出现次数最多的状态关键词及次数,如果有多个状态关键词并列最多,则输出第一个。

具体思路如下:

(1)将文本文件中的状态关键词通过jieba模块进行分词,并保存在列表中;         分词结果:

       ['美滋滋', '裂开', '运动', '疲惫', '发呆', '冲', '学习', '学习', '胡思乱想', '忙', '元气', '美滋滋', '美滋滋', '美滋滋', '美滋滋', '美滋滋', '裂开', '运动', '疲惫', '发呆', '冲', '胡思乱想', '元气', '裂开', '运动', '忙', '美滋滋', '美滋滋', '发呆', '摸鱼', '回家'](2)通过字典统计每个状态关键词的出现次数;

(3)通过比较,找出出现次数最多的状态关键词。

      输出结果:

     出现最多的状态是: 美滋滋 次数为: 8

实现上述功能的Python程序如下,请在划线处填入合适的代码。

"""

import jieba

txt=open("/data/state.txt","r",encoding="utf-8").read()

words=jieba.        ①        (txt)        #jieba模块分词的结果存放在列表中

"""

words=['美滋滋', '裂开', '运动', '疲惫', '发呆', '冲', '学习', '学习', '胡思乱想', '忙', '元气', '美滋滋', '美滋滋', '美滋滋', '美滋滋', '美滋滋', '裂开', '运动', '疲惫', '发呆', '冲', '胡思乱想', '元气', '裂开', '运动', '忙', '美滋滋', '美滋滋', '发呆', '摸鱼', '回家']

maxlen=1     #变量maxlen存放最多出现次数

maxd=0       #变量maxd存放最多出现次数的状态关键词在列表中的位置

dic={}         #字典dic存放每个状态关键词及其出现次数

i=0

while i<len(words):

   if words[i] not in dic:

               ②        

   else:

       dic[words[i]]+=1

       if        ③        :

           maxd=i

           maxlen=dic[words[i]]

   i+=1

print("出现最多的状态是:",        ④        ,"次数为:",maxlen)

3.

纠错处理

在人工智能对话系统中,用户键盘输入有时会出现重复按键现象(例如:"Hiiiii!")。现需要编写程序对输入文本进行规范化处理:将连续重复的字符压缩为单个字符。给定一个由大小写字母和标点符号组成的字符串(长度不超过1000),请将其中所有连续重复出现的字符压缩保留第一个字符,输出处理后的字符串。

例如:

输入:Hiiiii!  Howwww are youuuu???

注:输入的字符串仅包含大小写英文字母、空格和常见标点符号(!?.,等)

输出:Hi! How are you?

下面是小明编写的代码,请你将空白内容补充完整。

while True:

   input_text = input("请输入需要处理的字符串:(输入p结束!) ")

   if        ①         :

      break

   else:

       result = [input_text[0]]

       for char in input_text[         ②        :]:

           if char != result[        ③        ]:

               result.append(char)

       result = ''.join(        ④        )

   print(result)

公众号
客服 反馈
顶部