【发布时间】:2018-11-15 09:33:30
【问题描述】:
我正在使用 Python 3,我正在尝试编写一个函数来计算文本文件中唯一单词的总数。我在下面写了一些代码,但是当我运行它时,由于某种原因,我只得到 26 个唯一词,而实际上应该至少有 200 个。有人能发现我的代码有问题吗?
def countUniqueWords():
words = open('phrases.txt')
numberofUniqueWords = {}
for word in words:
try:
numberofUniqueWords[word] += 1
except KeyError:
numberofUniqueWords[word] = 1
print(len(numberofUniqueWords))
print(countUniqueWords())
【问题讨论】:
-
看看你正在数的“单词”,你会发现它们是单个字母。
-
每个
word都是文本文件中的一行。你应该先拆分它words.split()。 -
我想提两件事: 1. 你没有关闭你的文件。使用
.close()或with关键字。 2. 使用print(countUniqueWords()),您正在打印countUniqueWords的返回值,但countUniqueWords目前没有返回任何内容。
标签: python text-files