一、简答题
1、36.字母去重排序
在一列表中产生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、37.植树问题
如下图所示,在“植树.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
3、38.合作小组
班里有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)])
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!