编写程序,统计下面英文短文中,每个单词出现的次数。其他要求:(1)忽略大小写;(2)去除标点符号,不能在单词中出现标点或出现对标点的统计;(3)按词频由高到低的顺序输出统计结果,每个词及其统计结果显示时固定宽度并右对齐,每行显示5个单词的统计结果,总体要求整齐,方便查看
时间: 2024-10-24 08:11:02 浏览: 16
C语言统计一篇英文短文中单词的个数实例代码
5星 · 资源好评率100%
在Python中,你可以使用正则表达式库`re`来处理文本,并利用字典数据结构存储单词及其频率。这里是一个简单的示例代码:
```python
import re
def word_frequency(text):
# 将文本转换为小写并移除标点符号
text = re.sub(r'[^\w\s]', '', text.lower())
# 分割成单词列表
words = text.split()
# 初始化空字典存储词频
word_count = {}
# 统计单词出现次数
for word in words:
if word not in word_count:
word_count[word] = 0
word_count[word] += 1
# 按照频率从高到低排序
sorted_word_count = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
# 输出结果,每行显示5个单词
width = max(len(str(word)) + len(str(count)) + 4 for word, count in sorted_word_count) # 固定宽度
format_str = f"{{:<{width}}}: {{}}"
for i in range(0, len(sorted_word_count), 5):
print(format_str.format(*sorted_word_count[i:i+5]))
# 测试文本
text = "This is a test sentence. It contains multiple words, some of which will repeat several times."
word_frequency(text)
```
阅读全文