写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过 100 100 100 个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。
四行字符,由大写字母组成,每行不超过 100 100 100 个字符
由若干行组成,前几行由空格和星号组成,最后一行则是由空格和字母组成的。在任何一行末尾不要打印不需要的多余空格。不要打印任何空行。
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.
THIS IS AN EXAMPLE TO TEST FOR YOUR
HISTOGRAM PROGRAM.
HELLO!
*
*
* *
* * * *
* * * *
* * * * * *
* * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
每行输出后面不允许出现多余的空格。
num=4
value=[0]*26
for item in range(num):
data=input()
for jtem in data:
if ord(jtem)<=ord('Z') and ord(jtem)>=ord('A'):
key=ord(jtem)-ord('A')
value[key]+=1
pass
pass
maxx=max(value)+1
mapp=[['']*26 for _ in range(maxx)]
for item in range(26):
mapp[maxx-1][item]=chr(ord('A')+item)
pass
for jtem in range(26):
for item in range(maxx-2,maxx-value[jtem]-2,-1):
mapp[item][jtem]='*'
pass
for item in range(maxx-value[jtem]-2,-1,-1):
mapp[item][jtem]=' '
pass
pass
for item in range(maxx):
for jtem in range(26):
if jtem==25:
print(mapp[item][jtem])
pass
else:
print(mapp[item][jtem],end=' ')
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.
THIS IS AN EXAMPLE TO TEST FOR YOUR
HISTOGRAM PROGRAM.
HELLO!
*
*
* *
* * * *
* * * *
* * * * * *
* * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
打印的题目还比较好做,时刻记得数组是从零开始记录的,输出的时候要避免python数组输出时所特有的中括号就行。再就是题目要求的空格的位置。字符串终于刷完了,全程手打,自己思路,感觉大家都不爱用python做题,我也不爱,但是现在学习需要用到这个语言。