我需要一个count_word函数来接收一个单词并打印该单词的次数Word在"speech.txt"文件中。我们假设speech.txt中只有逗号和点。
def count_word(word):
counter = 0
with open("speech.txt", "r") as file:
lines = file.readlines()
for line in lines:
line = line.replace(",.", " ").lower().split()
if word.lower() == line:
counter += 1
return(counter)
print("a", count_word("a"))
我编辑了相应的代码,但函数仍然返回0时,它应该是4,还有什么是导致它失败?
图像是我们需要处理的语音文本。
演讲文本
strip
只删除末尾的字符。您可以使用re.sub
或str.replace
来删除任何地方的所有标点符号。
拆分后,您将得到一个单词列表,因此使用count
查找该单词在该行中出现的次数,而不是尝试将该单词与列表本身进行比较。
words = re.sub('[,.]', '', line).lower().split()
counter += words.count(word.lower())