定义函数count word(s)统计字符串S中各单词出现的次数,并将结果存入字典中,并返回主程序中输入字符串调用函数得到统计,结果输出时分别按字典的键和值两种形式降序显示结果
时间: 2024-12-10 07:55:08 浏览: 14
为了实现这个功能,我们可以定义一个名为`count_words`的函数,该函数接收一个字符串`s`作为参数,然后遍历该字符串,分割成单词列表,计算每个单词的频率,并将其存储在一个字典中。最后,我们将字典按照键(单词)和值(词频)进行排序并返回。
这是一个简单的示例代码:
```python
def count_words(s):
# 分割字符串为单词列表
words = s.split()
# 初始化空字典来存储词频
word_counts = {}
# 遍历单词列表,统计词频
for word in words:
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1
# 按照键和值对字典进行降序排序
sorted_by_key = {k: v for k, v in sorted(word_counts.items(), key=lambda item: item[0], reverse=True)}
sorted_by_value = {k: v for k, v in sorted(word_counts.items(), key=lambda item: item[1], reverse=True)}
return sorted_by_key, sorted_by_value
# 主程序入口
input_string = input("请输入字符串:")
word_dict_key_desc, word_dict_val_desc = count_words(input_string)
print("按单词降序(键):", word_dict_key_desc)
print("按词频降序(值):", word_dict_val_desc)
```
在这个代码中,我们首先使用split()函数根据空格分隔字符串,然后遍历每个单词,如果单词已经在字典中,则增加计数;否则添加到字典中并将计数设置为1。然后我们创建了两个新字典,`sorted_by_key` 和 `sorted_by_value`,它们分别基于键和值进行排序。
运行上述代码后,它会提示用户输入一个字符串,然后根据用户的输入输出按单词和词频降序排列的结果。
阅读全文