2025年9月电子学会青少年软件编程(Python五级)等级考试试卷
操作/编程
五级
2025
2025-10-23 12:37:35
102次
一、编程题
寻找缺失数
在一个学校的年度校园活动中,组织者需要为参与者分配不同的编号,以便进行抽奖和其他活动。他们决定使用长度为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)
【知识点】 电子学会Python五级
状态关键词
小李将一个月内某平台上每天的状态关键词(美滋滋、忙、疲惫......)保存在了文本文件"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)
【知识点】 电子学会Python五级
纠错处理
在人工智能对话系统中,用户键盘输入有时会出现重复按键现象(例如:"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)
【知识点】 电子学会Python五级
