万卷网> 电子学会考级 >Python等级考试 > 2024年6月电子学会青少年软件编程(Python三级)等级考试试卷

2024年6月电子学会青少年软件编程(Python三级)等级考试试卷
操作/编程 三级 2024 2024-08-16 20:17:13 81

一、编程题

1.

字母去重排序

在一列表中产生n个大写字母,删除其中重复字母,并按照A到Z顺序排列输出。同时输出删除字母个数。

例如输入 5 随机产生原始字母:[ “D”,“H”,“K”,“E”,“H”] 输出:去重后字母排序:[“D”,“E”,“H”,“K”] 输出:共删除字母个数:1个。

请编写程序实现上述功能,或补全代码。

import random

#导入随机数模块

maxn=int(input("输入生成大写字母个数"))

a=[ ]

for i in range(maxn):

   c=random.randint(1,26)#随机产生1-26之间的整数

   numb=chr(64+c)

           ①        

print("随机产生原始字母:",a)

m,n=0,maxn

while m<n:

   i=n-1

   while        ②        :

       i=i-1

   if i==m:

               ③        

   else:

       a.remove(a[i])

       n=n-1

for i in range(n):

   for j in range(len(a)-1,i,-1):

       if a[j]<a[j-1]:

                   ④        

print("去重后字母排序:",a)

print("共删除字母个数:",        ⑤        ,"个")

2.

合作小组

班里有35位同学,新来的王老师想以随机组合的方式给同学们组建合作小组促进学习,已知同学们的学号范围是1~35号,王老师编写了以下程序来生成5个合作小组,如下图所示,请你帮忙补全代码:

import random#导入随机数模块

numbers=35*[0]#创建35个元素值均为0的列表

flags=35*[False]#创建35个元素值均为False的列表

       ①        

while i<=34:

   n=random.randint(1,35)#随机产生1-35之间的整数

   if not flags[n-1]:

               ②        

       numbers[i]=        ③                  

       i+=1

for i in range(5):

   print("第"+str(        ④        )+"组:",numbers[i*7:7*(i+1)])

3.

植树问题

如下图所示,在“植树.csv”中记录着2个班级多次植树的信息(第一列为班级名,第二列为本次植树的数量),输出每个班级植树的总数,请你补全代码。

import csv

with open("/data/植树.csv") as f:

   h=list(        ①        )

s1=0

s2=0

for i in range(len(h)):

   if int(h[i][0])==1:

       s1=s1+int(h[i][1])

   if int(h[i][0])==2:

       s2=s2+        ②        

print(s1,s2)


输出:

368 362

公众号
客服 反馈
顶部