灿砸


私信TA

用户名:xiboliyalang

访问量:1080

签 名:

等  级
排  名 4710
经  验 1648
参赛次数 0
文章发表 10
年  龄 23
在职情况 学生
学  校 东北师范大学
专  业 软件工程

  自我简介:

TA的其他文章

解题思路:
将一个新的数组保存每一个字母对应的出现次数,在打印时候按行输出,先输出最大的那个字母,依次按行打印,打印后次数要 -1
注意事项:
只有打印'* '的时候,需要减1,否则是不减的
参考代码:

# 打印直方图
#s = "THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.THIS IS AN EXAMPLE TO TEST FOR YOURHISTOGRAM PROGRAM.HELLO!"
# 获取字符串的输入
s = ""
for i in range(1, 4 + 1):
    s+=input()

#创建一个长度为26的全0数组
count = [0] * 26
#
for i in range(len(s)):
    if 'A' <= s[i] <= 'Z':
        count[ord(s[i])-ord('A')] += 1

max_high = max(count)

for i in range(0, max_high):
    for j in range(len(count)):
        if count[j] != max_high:
            print('  ',end='')
        else:
            print('* ',end='')
            count[j]-=1
    print()
    max_high -= 1

for i in range(ord('A'), ord('Z')+1):
    print(chr(i),end=' ')


 

0.0分

0 人评分

  评论区

  • «
  • »