从键盘输入一行中英文字符串,统计该字符串中的英文单词的个数,并输出出现次数最多的前5个单词及其个数。 拓展思考:如何统计该字符串中的中文词组?python输出完整的代码
时间: 2024-12-04 19:25:43 浏览: 2
为了实现这个功能,你可以使用Python编写以下代码。首先,我们需要将字符串拆分为单词,然后对每个单词进行计数。对于英文单词,我们可以利用空格作为分隔符。对于中文词组,由于它们通常没有空格分隔,我们可以使用正则表达式匹配连续的汉字。以下是代码示例:
```python
import re
from collections import Counter
def count_words_and_word_groups(s):
# 分割英文单词
words = s.split()
# 统计英文单词
word_count = Counter(words)
# 使用正则表达式匹配中文词组
chinese_words = re.findall(r'[^\W_]+', s) # 匹配非字母数字字符的连续序列
chinese_count = Counter(chinese_words)
# 找出出现次数最多的前5个单词及其个数
top_english = word_count.most_common(5)
print(f"Top 5 English Words and Their Counts:")
for word, count in top_english:
print(f"{word}: {count}")
# 如果有中文词组
if chinese_count:
print("\nTop 5 Chinese Word Groups and Their Counts:")
top_chinese = chinese_count.most_common(5)
for group, count in top_chinese:
print(f"{group}: {count}")
# 输入示例
input_string = input("Please enter a line of mixed English and Chinese: ")
count_words_and_word_groups(input_string)
```
运行此程序,它会提示用户输入一行包含英文字母和中文的字符串,然后统计并输出最常见的单词和词组。
阅读全文