垂直柱状图#洛谷

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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。