def autocorrect(word):
Break_Word = sorted(word)
Sorted_Word = ''.join(Break_Word)
return Sorted_Word
user_input = ""
while (user_input == ""):
user_input = input("key in word you wish to enter: ")
user_word = autocorrect(user_input).replace(' ', '')
with open('big.txt') as myFile:
for word in myFile:
NewWord = str(word.replace(' ', ''))
Break_Word2 = sorted(NewWord.lower())
Sorted_Word2 = ''.join(Break_Word2)
if (Sorted_Word2 == user_word):
print("The word",user_input,"exist in the dictionary")
基本上当我在“big.txt”中有一个正确拼写单词的字典时,如果我从用户输入和字典中得到相似的字样,我会打印出一行
我在排序之后比较两个字符串
但是我无法执行
行if (Sorted_Word2 == user_word):
print("The word",user_input,"exist in the dictionary")
当我尝试使用其他字符串(例如
)的硬编码时 if ("a" == "a"):
print("The word",user_input,"exist in the dictionary")
它奏效了。我的代码有什么问题?如何比较文件中的两个字符串?
答案 0 :(得分:1)
这是什么意思?它会抛出异常吗?然后,如果是这样,发布...
但是我无法执行
行if(Sorted_Word2 == user_word): print(“单词”,user_input,“存在于字典中”)
因为我可以运行您的程序版本,结果如预期。
def autocorrect(word):
Break_Word = sorted(word)
Sorted_Word = ''.join(Break_Word)
return Sorted_Word
user_input = ""
#while (user_input == ""):
user_input = raw_input("key in word you wish to enter: ").lower()
user_word = autocorrect(user_input).replace(' ', '')
print ("user word '{0}'".format(user_word))
for word in ["mike", "matt", "bob", "philanderer"]:
NewWord = str(word.replace(' ', ''))
Break_Word2 = sorted(NewWord.lower())
Sorted_Word2 = ''.join(Break_Word2)
if (Sorted_Word2 == user_word):
print("The word",user_input,"exist in the dictionary")
要输入的关键词:druge 用户词'degru' 字典中没有“druge”这个词
要输入的关键词:迈克 用户词'eikm' ('词','迈克','存在于词典中')
此外,我不知道所有这些“自动更正”的东西在做什么。您似乎需要做的就是搜索搜索词实例的单词列表。对搜索词中的字符进行“排序”无效。