垂直柱状图#洛谷
2023-12-28 12:22:18
题目描述
写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过 100 100 100 个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。
输入格式
四行字符,由大写字母组成,每行不超过 100 100 100 个字符
输出格式
由若干行组成,前几行由空格和星号组成,最后一行则是由空格和字母组成的。在任何一行末尾不要打印不需要的多余空格。不要打印任何空行。
样例 #1
样例输入 #1
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.
THIS IS AN EXAMPLE TO TEST FOR YOUR
HISTOGRAM PROGRAM.
HELLO!
样例输出 #1
*
*
* *
* * * *
* * * *
* * * * * *
* * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
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做题,我也不爱,但是现在学习需要用到这个语言。
文章来源:https://blog.csdn.net/KLSZM/article/details/135264059
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!