我正在尝试编写我自己的拼写检查算法,该算法也打印出建议。它不是按预期工作,我不知道为什么。我可以拾取拼写错误的单词,但我不能建议好的单词。这里是我的代码到目前为止:
def corrections_helper(word, testWord):
count = 0
charCount = 0
for char in word:
if char in testWord:
charCount += 1
if charCount >= int(len(testWord) / 1.5):
for n in range(0, len(testWord)):
if word[n] != testWord[n]:
count += 1
return count
def corrections(item, trieLi):
suggestions = []
count = 0
for word in trieLi:
if len(word) == len(item):
if corrections_helper(word, item) <= 3:
suggestions.append(word)
print(suggestions)
使用“propensities”这个词错误地拼写为“propensiteis”,我的随机输出不是我想要的。例如:
['walesordered', 'wigglesworth', 'unsuccessful', 'unfavourable', 'unfrequently', 'undertakings', 'unacquainted', 'unacceptable', 'unaccustomed', 'unproductive', "king'sfisher", 'buffcoloured', 'buryingplace', 'bronzewinged'...
还有许多不应该出现的其他词语。我哪里错了?我甚至不知道正确的单词是否出现在返回值的大列表中。数百人回来了,但他们都没有接近。