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

2023年12月电子学会青少年软件编程(Python五级)等级考试试卷
操作/编程 五级 2023 2024-01-07 15:07:31 108

一、编程题

1.

过马路问题

在遥远的mars星球,即将入学的小精灵们正在学习过马路。它们需要请精灵学院的哥哥姐姐们的指导。

精灵学院共有C名学员(1≤C≤2000),编号为1...C,每名学员i愿意在时间Ti帮助小精灵。当前共有N名小精灵(1≤N≤2000),编号为1...N,其中小精灵j能够在时间Aj和时间Bj之间过马路。当前情况下,结伴过马路是最好的办法,每位小精灵j想找到一位学员i结伴过马路,i和j必须满足Aj≤Ti≤Bj。

每名学员最多只能结伴一名小精灵,每名小精灵最多结伴一名学员,请帮助计算可以得到的最大结伴数。

输入格式:

第一行输入包含C和N。

接下来C行包含T1 ... TC,

再接下来N行包含用于j = 1 ... N的Aj和Bj(Aj≤Bj)。 A,B和T都是不超过30000的正整数。

输入样例:

5 4
7
8
6
2
9
2 5
4 9
0 3
8 13

输出格式:

 一共整数,表示精灵学院学员和小精灵的最大结伴数。

输出样例:

3

n,m= map(int, input().split())

t=[];a=[];b=[];h=[]

for i in range(1,n+1):

    x=int(input())

    t.append(x)

    h.append(0)

for i in range(1,m+1):

           ①        = map(int, input().split())

    a.append(x)

    b.append(y)

t.        ②        

for i in range(m-1):

    for j in range(m):

       if((a[i]>a[j]) or (a[i]==a[j] and b[i]>b[j])):

           a[i],a[j]=a[j],a[i]

               ③        

ans=0

for i in range(m):

    for j in range(n):

       if(t[j]>=a[i] and t[j]<=b[i] and h[j]==0):

                  ④        

           h[j]=1

           break

       if(t[j]>b[i]):

           break

print(ans)

2.

单词表问题 

小明是一名学生,他正在学习英语单词的拼写。他想要创建一个单词表,用于存储他学习过的单词,并统计每个单词出现的次数。请你帮助他补全代码完成以下任务:

(1)创建一个空的字典 word_dict,用于存储单词和对应的出现次数;

(2)使用 input() 函数,提示小明输入一个单词,并将其存储到变量 word 中;

(3)检查字典 word_dict 中是否已经存在该单词。如果存在,则将该单词的出现次数加一;如果不存在,则将该单词添加到字典中,并将其出现次数设置为一;

(4)重复步骤 2 和步骤 3,直到小明输入字符串's'为止;

(5)创建一个空的集合 unique_words,用于存储所有不重复的单词;

(6)遍历字典 word_dict 的键(即单词),将每个键添加到集合 unique_words 中;

(6)打印出字典 word_dict 中每个单词和对应的出现次数;

(8)打印出集合 unique_words 中的所有不重复的单词。

样例:

输入

请输入一个单词:hello

请输入一个单词:world

请输入一个单词:hello

请输入一个单词:python

请输入一个单词:s

输出

单词和出现次数:

hello : 2

world : 1

python : 1

不重复的单词:

world

hello

python

程序:

word_dict = {}

while True:

    word = input("请输入一个单词:")

    if word == "s":

        break

    if word in word_dict:

                ①        

    else:

        word_dict[word] = 1

unique_words =        ②        

for word in word_dict:

    unique_words.add(word)

print("单词和出现次数:")

for word in word_dict:

            ③        

print("不重复的单词:")

for word in unique_words:

            ④        

3.

打字正确率问题

设计一个判断打字正确率程序。

如样板字符串为“我爱你中国”,如果输入的字符串长度与样板字符串长度相同,则调用编程模板中Percentage函数去计算这两个字符串对应位置相同的字符个数占字符总长度的百分比,按照示例的格式输出;

例如:

如果样板字符串为“我爱你中国”

输入字符串“我爱你中国”

输出:

匹配率:100%

输入字符串"我爱你中华"

输出:

匹配率:80%

输入字符串“我爱你”

输出:

输入字符串长度不一致,请重新运行本程序!

样板程序:

def Percentage(source,target):

    s_list=        ①        

    t_list=        ②        

    c_list=        ③        

    return  len(c_list)/len(s_list)

s1 = "我爱你中国"

print("请输入以下内容:\n"+s1)

s2 = input()

if        ④        :

    print("输入字符串长度不一致,请重新运行本程序!")

else:

    print(        ⑤        )

公众号
客服 反馈
顶部