用python编写程序从标准输入中读入一段英文,统计其中小写字母出现次数,并以柱状图的形式显示其出现次数。 【输入形式】 在标准输入上输入一段英文文章(可能有一行,也可能有多行),在新的一行的开头输入ctrl+z键表示结束。 【输出形式】 在屏幕上依次输出表示每个小写字母出现次数的柱状图(以"“字符表示柱状图,空白处用空格字符表示,某个小写字母出现多少次,就显示多少”"字符;柱状图的高度以出现最多的字母次数为准),在最后一行依次输出26个小写字母。
时间: 2023-11-27 18:51:31 浏览: 105
以下是Python程序实现:
```python
import sys
# 统计小写字母出现次数
count = [0] * 26
for line in sys.stdin:
for c in line:
if c.islower():
count[ord(c) - ord('a')] += 1
# 输出柱状图
max_count = max(count)
for i in range(max_count, 0, -1):
row = ""
for j in range(26):
if count[j] >= i:
row += "*"
else:
row += " "
row += " "
print(row)
# 输出字母表
row = ""
for i in range(26):
row += chr(i + ord('a'))
row += " "
print(row)
```
程序首先使用 `sys.stdin` 读取标准输入中的英文文章,并统计其中每个小写字母出现次数,将结果保存在 `count` 列表中。
然后,程序找出出现次数最多的字母次数 `max_count`,并从最大次数开始输出柱状图。对于每一行,程序遍历 `count` 列表,如果某个字母出现次数大于等于当前行数,则输出一个 `"*"`,否则输出一个空格。输出完一行后,程序换行继续输出下一行。最后,程序输出字母表。
阅读全文