编写程序,统计英文短文中,每个单词出现的次数。python
时间: 2024-10-17 10:02:51 浏览: 62
在Python中,编写一个程序来统计英文短文中每个单词的出现次数可以使用字典(dictionary)数据结构。这里是一个简单的步骤示例:
```python
def count_words(text):
# 将文本转换为小写并分割成单词列表
words = text.lower().split()
# 创建一个空字典来存储单词及其计数
word_count = {}
# 遍历单词列表
for word in words:
# 如果单词已经在字典中,增加计数
if word in word_count:
word_count[word] += 1
# 否则,添加单词到字典并设置计数为1
else:
word_count[word] = 1
return word_count
# 测试函数
short_text = "Hello world! This is a simple example. Hello again."
word_counts = count_words(short_text)
print("Word counts:", word_counts)
相关问题
用python编写程序统计英文短文中每个单词出现的次数
在Python中,你可以使用`collections`模块中的`Counter`类来轻松地统计英文短文中的每个单词出现的次数。以下是一个简单的步骤:
首先,你需要将文本分割成单词列表。可以使用`split()`函数,假设输入的短文是一个字符串变量`text`。
```python
import re
from collections import Counter
def word_count(text):
# 使用正则表达式去除标点符号并转换为小写
words = re.findall(r'\b\w+\b', text.lower())
# 使用Counter计算单词频率
word_counts = Counter(words)
return word_counts
```
然后,你可以调用这个函数并打印结果:
```python
short_text = "This is a sample text. It contains several words that will be counted."
word_freq = word_count(short_text)
for word, freq in word_freq.items():
print(f"'{word}': {freq} times")
```
编写程序,统计下面英文短文中,每个单词出现的次数。其他要求:(1)忽略大小写;(2)去除标点符号,不能在单词中出现标点或出现对标点的统计;(3)按词频由高到低的顺序输出统计结果,每个词及其统计结果显示时固定宽度并右对齐,每行显示5个单词的统计结果,总体要求整齐,方便查看
在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)
```
阅读全文