题目描述
写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过100个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。
Python解答
- 用string.ascii_uppercase输出A-Z的字符串,再将每个字母作为key值,初始化value值为0统计频数。
- 依次输入句子,字母出现则在字典中加1。将出现频数最高次的value值作为行数。
- 如果出现的次数大于行数,则这个字母的位置输出“*”,否则输出空格。
# -*- 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)))