简单字符串——洛谷#P1598 垂直柱状图(Python实现)

题目描述

写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过100个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。

Python解答

  1. 用string.ascii_uppercase输出A-Z的字符串,再将每个字母作为key值,初始化value值为0统计频数。
  2. 依次输入句子,字母出现则在字典中加1。将出现频数最高次的value值作为行数。
  3. 如果出现的次数大于行数,则这个字母的位置输出“*”,否则输出空格。
# -*- coding: utf-8 -*-
# @Time    : 2019/10/31 17:27
# @Author  : 小晓酱
# @File    : luoguu.py
# @Software: PyCharm

import string

Letter = string.ascii_uppercase
LetterDict = {l: 0 for l in Letter}
for line in range(4):
    Character = input()
    for alphabet in Character:
        if alphabet in Letter:
            LetterDict[alphabet] += 1
Max = max(LetterDict.values())
for i in range(Max, 0, -1):
    print(" ".join("*" if LetterDict[alphabet] >= i else " " for alphabet in Letter))
print(" ".join(list(Letter)))
发布了330 篇原创文章 · 获赞 71 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/sinat_26811377/article/details/102941438