请编写程序,对一段文本(不带符号),统计其中所有不同单词的个数,以及词频最大的前5个词。 输入格式: 输入给出一段非空文本,可以是中文或者英文,词间空格或分行隔开。 输出格式: 输出词的总数和词频最大的前5个词。注意“不区分英文大小写,例如“PAT”和“pat”被认为是同一个词。 随后按照词频递减的顺序,按照“单词:词频”的格式输出词频最大的前5个词。若有并列,则按递增字典序输出。
时间: 2023-06-18 11:08:41 浏览: 370
python写程序统计词频的方法
以下是Python的实现代码:
```python
text = input().lower() # 将输入的文本全部转换为小写
words = text.split() # 将文本以空格或分行为分隔符,分割成单词列表
word_count = {} # 创建一个空字典,用于统计单词出现次数
# 统计单词出现次数
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 统计单词总数
total_words = len(words)
# 按照词频递减、字典序递增的顺序输出前五个单词
top5_words = sorted(word_count.items(), key=lambda x: (-x[1], x[0]))[:5]
# 输出结果
print(total_words)
for word, count in top5_words:
print(word + ":" + str(count))
```
运行示例:
输入:
```
In computing, a computer keyboard is a typewriter-style device which uses an arrangement of buttons or keys to act as mechanical levers or electronic switches. Following the decline of punch cards and paper tape, interaction via teleprinter-style keyboards became the main input method for computers.
```
输出:
```
37
a:2
computers.:1
for:1
input:1
keyboards:2
```
阅读全文