(Python)字母频率统计

简介: (Python)字母频率统计

@[TOC]

【问题描述】

编写程序从标准输入中读入一段英文,统计其中小写字母出现次数,并以柱状图的形式显示其出现次数。

【输入形式】

在标准输入上输入一段英文文章(可能有一行,也可能有多行),在新的一行的开头输入ctrl+z键表示结束。

【输出形式】

在屏幕上依次输出表示每个小写字母出现次数的柱状图(以""字符表示柱状图,空白处用空格字符表示,某个小写字母出现多少次,就显示多少""字符;柱状图的高度以出现最多的字母次数为准),在最后一行依次输出26个小写字母。

【样例输入】

The computing world has undergone a
revolution since the publication of
The C Programming Language in 1978.

【样例输出】

在这里插入图片描述

【样例说明】

在输入的英文短文中,小写字母a出现了6次,所以其上输出了6个字符"*"。出现次数最多的是字母n,所以柱状图的高度为9个字符。字母j没有出现,所以其上都为空格字符。

【评分标准】

共有5个测试点。

【题解】

string = ''
try:
    for line in iter(input, ''):
        string += line + '\n'
except EOFError:
    pass
letters = {}
letter_list = []
for letter_asc in range(97, 123):
    letter = chr(letter_asc)
    letter_list.append(letter)
    letters[letter] = 0
for letter in letter_list:
    num = string.count(letter)
    letters[letter] = num
occurCounts_list = []
for v in letters.values():
    occurCounts_list.append(v)
occur_max = max(occurCounts_list)
result_list = [[0] * 26 for i in range(occur_max)]
for i in range(len(occurCounts_list)):
    for k in range(occurCounts_list[i]):
        result_list[k][i] = '*'
for i in range(len(result_list) - 1, -1, -1):
    for j in range(len(result_list[i])):
        if result_list[i][j] == 0:
            result_list[i][j] = ' '
        print(result_list[i][j], end='')
    print()
for i in letters.keys():
    print(i, end='')
相关文章
|
25天前
|
数据可视化 数据挖掘 Python
Seaborn 库创建吸引人的统计图表
【10月更文挑战第11天】本文介绍了如何使用 Seaborn 库创建多种统计图表,包括散点图、箱线图、直方图、线性回归图、热力图等。通过具体示例和代码,展示了 Seaborn 在数据可视化中的强大功能和灵活性,帮助读者更好地理解和应用这一工具。
36 3
|
24天前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
18 1
|
1月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
41 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
1月前
|
数据可视化 Serverless Python
Python小事例—质地不均匀的硬币的概率统计
Python小事例—质地不均匀的硬币的概率统计
|
2月前
|
Python
6-18|Python画字母H
6-18|Python画字母H
|
3月前
|
Python
【Python】正则表达式判断是否存在连续N个字母
文章提供了一个Python函数five_continue,使用正则表达式来判断字符串中是否存在连续5个或更多字母的情况,并返回存在此类序列的布尔值。
53 2
|
4月前
|
数据可视化 数据挖掘 定位技术
Seaborn统计图表指南
【7月更文挑战第12天】Seaborn是Python的数据可视化库,基于Matplotlib,提供美观的统计图形。要开始使用,需通过`pip install seaborn`安装。它支持多种图表,如分布图、热图、聚类图、箱线图、小提琴图、联合分布图、点图、多变量分布图、线性关系图、树地图、时间序列图、分面绘图、分类数据图、分布对比图、多变量图和气泡图等,适用于复杂数据分析和展示。Seaborn简化了创建这些高级图表的过程,使数据可视化更直观和高效。
73 5
|
5月前
|
存储 数据挖掘 Python
使用Python集合高效统计Excel数据
使用Python集合高效统计Excel数据
70 7
|
5月前
|
数据采集 开发者 Python
在Python中判断字符串中是否包含字母
在Python中判断字符串中是否包含字母
53 4
|
5月前
|
监控 数据可视化 数据库
【python项目推荐】键盘监控--统计打字频率
【python项目推荐】键盘监控--统计打字频率
74 13