我正在使用Python 3,并且试图编写一个函数来计算文本文件中唯一单词的总数。我在下面编写了一些代码,但是当我运行它时,由于某种原因,实际上我至少应该有200个唯一的单词,所以我只能得到26个唯一的单词。有人能发现我的代码有问题吗?
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())
答案 0 :(得分:1)
您正在遍历文件中的章程而不是单词。您需要使用words = open('phrases.txt').read().split()
将文件制成单词列表,并且还应确保删除所有标点符号。
答案 1 :(得分:0)
1)使用集合而不是字典
2)words
只是一个字符串,您需要使用.split()
才能获取字符串中的单词。
def countUniqueWords():
words = open('phrases.txt')
uniqueWords = set(words.split())
return len(uniqueWords)
print(countUniqueWords())