题目:试题文件夹中提供一个 “字符.txt”文件。请编写程序,统计该 中出现的所有中文字符及标点符号的数量,每个字符及数量之间 号:分隔,例如 “笑:1024 ” ,将所有字符及数量的对应采用逗号 保存到字符统计.txt”文件中。 注意:统计字符不包括空格和回车。 输出示例:笑:10,傲:8,江:1,湖:6 注意:部分源程序给出如下。请勿改动其它函数中的任何内容, 仅在函数的注释标志之间填入所编写的若干语句。 fi = open("字符. txt", "r") fo = open("字符统计. txt", "w") #**********Program********** #**********End********** fo. write(", ". join(ls)) fi. close () fo. close ()
时间: 2023-07-05 13:28:30 浏览: 80
以下是代码实现:
```python
fi = open("字符.txt", "r")
fo = open("字符统计.txt", "w")
# 统计每个字符的出现次数
char_dict = {}
for line in fi:
line = line.strip()
for char in line:
if char != ' ' and char != '\n':
char_dict[char] = char_dict.get(char, 0) + 1
# 按照出现次数从高到低排序
char_list = sorted(char_dict.items(), key=lambda x: x[1], reverse=True)
# 将结果写入文件
for char, count in char_list:
fo.write(char + ':' + str(count) + ', ')
fi.close()
fo.close()
```
注意,这里使用了`strip()`函数来去除每行的空格和回车。另外,`char_dict`是一个字典,用来存储每个字符的出现次数。`char_list`是一个列表,元素为`(char, count)`元组,表示字符和出现次数。最后将结果写入文件时,使用`write()`函数加上逗号和空格进行分隔。
阅读全文