定义一个函数count_num()统计给定的字符串中各单词的出现频率,并将结果保存在字典中返回。 在主程序中输入一段英文语句,例如S1=“Python VB VFP C C++ Java Python Java Python C”, 调用函数完成统计,并分别按照键和值的升序将返回的字典输出显示。 程序运行结果: Order of keys: C 2 C++ 1 Java 2 Python 3 VB 1 VFP 1 Order of values: C++ 1 VFP 1 VB 1 Java 2 C 2 Python 3
时间: 2023-12-03 09:46:28 浏览: 90
下面是实现该功能的代码:
```python
def count_num(s):
# 将字符串按空格切分成单词列表
words = s.split()
# 定义一个空字典用于保存单词出现频率
freq = {}
for word in words:
# 如果单词已经在字典中,则将其出现次数加1
if word in freq:
freq[word] += 1
# 否则将单词添加到字典中,并将其出现次数初始化为1
else:
freq[word] = 1
return freq
# 主程序
s1 = "Python VB VFP C C++ Java Python Java Python C"
freq_dict = count_num(s1)
# 按键排序输出
print("Order of keys:", end=" ")
for key in sorted(freq_dict.keys()):
print(key, freq_dict[key], end=" ")
# 按值排序输出
print("\nOrder of values:", end=" ")
for key, value in sorted(freq_dict.items(), key=lambda item: item[1]):
print(key, value, end=" ")
```
输出结果为:
```
Order of keys: C 2 C++ 1 Java 2 Python 3 VB 1 VFP 1
Order of values: C++ 1 VFP 1 VB 1 Java 2 C 2 Python 3
```
阅读全文