gpt4 book ai didi

python - 拼写检查算法输出所有内容而不仅仅是拼写错误(Python)?

转载 作者:行者123 更新时间:2023-11-28 18:38:14 24 4
gpt4 key购买 nike

我基本上是在尝试编写一个简单的拼写检查程序,它会提示您输入文件,然后分析输入文件中可能出现的拼写错误(通过使用二进制搜索来查看该词是否在字典中),在输出文件中打印它们之前。然而,目前,它输出输入文件中的所有内容而不仅仅是错误......我的代码如下:

import re

with open('DICTIONARY1.txt', 'r') as file:
content = file.readlines()
dictionary = []
for line in content:
line = line.rstrip()
dictionary.append(line)

def binary_search(array, target, low, high):
mid = (low + high) // 2
if low > high:
return -1
elif array[mid] == target:
return mid
elif target < array[mid]:
return binary_search(array, target, low, mid-1)
else:
return binary_search(array, target, mid+1, high)

input = input("Please enter file name of file to be analyzed: ")
infile = open(input, 'r')
contents = infile.readlines()
text = []
for line in contents:
for word in line.split():
word = re.sub('[^a-z\ \']+', " ", word.lower())
text.append(word)
infile.close()
outfile = open('TYPO.txt', 'w')
for data in text:
if data.strip() == '':
pass
elif binary_search(dictionary, data, 0, len(data)) == -1:
outfile.write(data + "\n")
else:
pass

file.close
outfile.close

我似乎无法弄清楚出了什么问题。 :(任何帮助将不胜感激!谢谢。 :)

最佳答案

我尝试用 len(dictionary) 替换 len(data) 因为这对我来说更有意义,而且它似乎在我非常有限的测试中起作用。

我认为您将相关单词的长度作为字典的上限传递。因此,如果您要查找“狗”这个词,您只会检查字典中的前 3 个词,并且由于您的词典可能非常大,所以几乎每个词都找不到(所以每个词都在输出文件中)。

关于python - 拼写检查算法输出所有内容而不仅仅是拼写错误(Python)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30297711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com