在python中搜索关键字

时间:2016-06-08 16:08:26

标签: python list keyword

如果我在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")

这是我到目前为止所做的,但是当我在一个句子中回答问题时,我得到了我想要的解决方案,即“去机械师”,我是一个新手,所以请袒露我的愚蠢。

1 个答案:

答案 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')

这与您的“问题描述”完全匹配,但如果您输入以下内容,当然也会生成相同的消息:

  • 手机里没有水
  • 我手机里没有水
  • 我洗澡水里有一个电话

它将完全忽略:

  • 我想我的手机弄湿了。

请记住 - 这个解决方案不能很好地扩展(因为你试图“理解”代码变得非常复杂的更多句子),它不能理解常见的变体或否定词或同义词。

这实际上不是任何形式的人工智能 - 您可以轻松地查找特定数字而不是单词。

让计算机真正“理解”你的意思 - 所以它知道“弄湿”类似于“开水”,需要相同的答案,或者认识到'没有开水'作为负面例如 - 是一个完整的其他球类游戏