编写程序,统计一篇英文文章中a`z各个字母出现的次数(不分大小写),并按出现次数的多少顺序排序,按顺序将信息追加到文章的末尾(一个字母一行)。
时间: 2024-02-11 14:04:09 浏览: 77
可以使用Python的文件操作和字符串操作功能实现这个程序。下面是一个示例代码:
```python
# 定义字母表
alphabet = 'abcdefghijklmnopqrstuvwxyz'
# 初始化字典,用于保存每个字母出现的次数
count = {}
for letter in alphabet:
count[letter] = 0
# 打开文件进行统计
with open('article.txt', 'r') as file:
# 按行读取文件内容
for line in file:
# 将所有字母转换为小写
line = line.lower()
# 统计字母出现的次数
for letter in line:
if letter in alphabet:
count[letter] += 1
# 按出现次数从大到小排序
sorted_count = sorted(count.items(), key=lambda x: x[1], reverse=True)
# 将统计结果追加到文件末尾
with open('article.txt', 'a') as file:
file.write('\n\n字母出现次数统计:\n')
for item in sorted_count:
file.write(f'{item[0]}: {item[1]}\n')
```
这段代码中,首先定义了字母表`alphabet`,并使用一个字典`count`来保存每个字母出现的次数。使用`with`语句打开文件,按行读取文件内容。将每一行中的字母都转换为小写,然后统计字母出现的次数。最后按出现次数从大到小排序,并将统计结果追加到文件末尾。注意要在文件末尾添加两个换行符,以避免统计结果和文章内容之间出现连续的空行。
阅读全文