试题文件夹中提供一个 〝字符.txt”文件。请编写程序,统计该文件中出现的所有中文字符及标点符号的数量,每个字符及数量之间用冒号:分隔,例如“笑:1024”,将所有字符及数量的对立采用逗号分隔。保存到字符统计.txt”文件中。
时间: 2024-03-02 20:47:59 浏览: 143
使用Python编写程序,统计书籍《红楼梦》中前20位出场次数最多的人物
5星 · 资源好评率100%
好的,这个要求和上一个问题类似,只是需要稍微修改一下代码。我们同样可以使用Python内置的文件读取和字符串操作函数,加上正则表达式,来实现字符统计的功能。代码如下:
```python
import re
# 定义一个函数,用来统计中文字符和标点符号的数量
def count_chars(file_path):
# 打开文件,读取内容
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
# 使用正则表达式匹配中文字符和标点符号
pattern = re.compile('[\u4e00-\u9fa5,。!?;:]')
chars = pattern.findall(content)
# 统计每个字符的数量
char_count = {}
for char in chars:
char_count[char] = char_count.get(char, 0) + 1
# 将结果转换成字符串,用逗号分隔每一个字符及其数量
result = ''
for char, count in char_count.items():
result += char + ':' + str(count) + ','
return result[:-1] # 去掉最后一个逗号
# 调用函数,统计字符数量并保存到文件中
result = count_chars('字符.txt')
with open('字符统计.txt', 'w', encoding='utf-8') as f:
f.write(result)
```
你可以将上述代码保存为一个Python文件,然后在命令行中执行该文件,即可得到字符统计结果,并保存到名为“字符统计.txt”的文件中。
阅读全文