刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

字母去重排序

在一列表中产生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("共删除字母个数:",        ⑤        ,"个")

使用微信搜索喵呜刷题,轻松应对考试!

答案:

①将字母加入列表a中:a.append(numb)
②判断当前字母是否重复:if a[i] == a[m]:
③找到重复字母的索引位置,准备删除:del a[i]
④交换相邻字母的位置,保证顺序正确:a[j], a[j-1] = a[j-1], a[j]
⑤计算删除的字母个数:maxn - n

解析:

本题要求从给定的字母列表中删除重复字母并按字母顺序排序。首先,我们需要生成随机大写字母并添加到列表中。然后,我们需要遍历列表,找到重复的字母并删除。接着,对列表进行排序。最后,计算并输出删除的字母个数。

在给出的代码框架中,我们需要填充五个空白处。

①处,我们需要将随机生成的大写字母添加到列表中,所以应填写:a.append(numb)。

②处,我们需要判断当前字母是否重复,所以应填写:if a[i] == a[m]。

③处,如果找到重复字母,我们需要删除它,所以应填写:del a[i]。

④处,为了保证字母排序正确,我们需要交换相邻字母的位置。Python中可以使用多重赋值来交换两个变量的值,所以应填写:a[j], a[j-1] = a[j-1], a[j]。

⑤处,我们需要计算删除的字母个数,即原始字母个数减去去重后的字母个数,所以应填写:maxn - n。

创作类型:
原创

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

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share