(Python)字母频率统计
2021/11/9 11:09:37
本文主要是介绍(Python)字母频率统计,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
【问题描述】
编写程序从标准输入中读入一段英文,统计其中小写字母出现次数,并以柱状图的形式显示其出现次数。
【输入形式】
在标准输入上输入一段英文文章(可能有一行,也可能有多行),在新的一行的开头输入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没有出现,所以其上都为空格字符。
实现代码:
d = {'a': 0, 'b': 0, 'c': 0, 'd': 0, 'e': 0, 'f': 0, 'g': 0, 'h': 0, 'i': 0, 'j': 0, 'k': 0, 'l': 0, 'm': 0, 'n': 0, 'o': 0, 'p': 0, 'q': 0, 'r': 0, 's': 0, 't': 0, 'u': 0, 'v': 0, 'w': 0, 'x': 0, 'y': 0, 'z': 0} list1 = [] while True: try: s = input() list1.append(s) except: break lowercase = '' for temp in list1: for i in range(len(temp)): if temp[i].islower(): lowercase += temp[i] dict = {} for i in range(len(lowercase)): if lowercase[i] in dict: dict[lowercase[i]] += 1 else: dict[lowercase[i]] = 1 dict1 = sorted(dict.items(), key=lambda x: x[0]) for i in range(len(dict1)): d[dict1[i][0]] = dict1[i][1] counts = [] for i in d.values(): counts.append(i) counts_max = max(counts) result = [[0] * 26 for i in range(counts_max)] for i in range(len(counts)): for k in range(counts[i]): result[k][i] = '*' for i in range(len(result) - 1, -1, -1): for j in range(len(result[i])): if result[i][j] == 0: result[i][j] = ' ' print(result[i][j], end='') print() for i in d.keys(): print(i, end='')
运行结果:
这个代码在PyCharm里运行时输入ctrl+z无法结束输入,我也不知道是为什么,于是就在命令行里运行了一下。如果有知道这里为啥无法在PyCharm里运行的大佬欢迎补充一下。
这篇关于(Python)字母频率统计的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享
- 2024-12-19Python资料:新手入门的全面指南
- 2024-12-19Python股票自动化交易实战入门教程
- 2024-12-19Python股票自动化交易入门教程