如果我在python中问一个问题并且答案是一句话,例如“我的手机里有水”,我该如何让程序检测到“水”或“手机”这个词并打印出一个解决方案,如“干”你的手机“?。
similar_words = ["water","damaged","wet","soaked","battery"]
words = input("Enter a word or sentence: ").strip().split()
for word in words:
if word.lower() in similar_words:
print ("Go to a mechanic")
else:
print ("sorry your answer doesn't match the criteria, please try again")
这是我到目前为止所做的,但是当我在一个句子中回答问题时,我得到了我想要的解决方案,即“去机械师”,我是一个新手,所以请袒露我的愚蠢。
答案 0 :(得分:1)
一个简单的基本解决方案:
words = input("Enter a word or sentence: ").strip()
words = words.lower()
if 'water' in words and 'phone' in words:
print('Dry your phone')
这与您的“问题描述”完全匹配,但如果您输入以下内容,当然也会生成相同的消息:
它将完全忽略:
请记住 - 这个解决方案不能很好地扩展(因为你试图“理解”代码变得非常复杂的更多句子),它不能理解常见的变体或否定词或同义词。
这实际上不是任何形式的人工智能 - 您可以轻松地查找特定数字而不是单词。
让计算机真正“理解”你的意思 - 所以它知道“弄湿”类似于“开水”,需要相同的答案,或者认识到'没有开水'作为负面例如 - 是一个完整的其他球类游戏