代码展示
import string
def wordcount(text):
# 将文本转换为小写,以确保计数时不区分大小写
text = text.lower()
# 创建一个翻译表,用于移除所有标点符号
translator = str.maketrans('', '', string.punctuation)
# 使用 translate() 方法去除标点符号
text = text.translate(translator)
# 使用 str.split() 分割字符串,默认以空白字符为分隔符
words = text.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
# 示例使用
text = "hello world hello"
text1 = """Hello world!
This is an example.
Word count is fun.
Is it fun to count words?
Yes, it is fun!"""
result = wordcount(text1)
print(result)
上述定义了一个wordcount的函数,用于统计英文字符串中每个单词出现的次数,并返回一个字典。
在这个函数中,我们首先将文本转换为小写,然后创建一个翻译表,该表将所有的标点符号映射为空字符串,即删除它们。之后,我们使用 translate()
方法应用这个翻译表来移除文本中的所有标点符号。最后,我们按空白字符分割处理过的字符串,统计单词出现的次数,并返回结果字典。
运行结果如下:
debug
通过打断点,可以让我们对该程序进行debug,过程如下图所示