Artificial intelligence 如何使用函数在片段中搜索字符串

Artificial intelligence 如何使用函数在片段中搜索字符串,artificial-intelligence,clips,expert-system,Artificial Intelligence,Clips,Expert System,我是超级新的剪辑,我正在写一个交互式葡萄酒检测系统。这个系统使用的是和否这样的输入。但是我想把它提高一个层次,让它接受这样的值。“我不确定” 基本上,我想将以下伪代码转换为片段 def ask_for_input(): user_inp = input("gimme dat") if "yes" in user_inp: return "yes" elif "no" in user_inp: return "no" elif "

我是超级新的剪辑,我正在写一个交互式葡萄酒检测系统。这个系统使用的是和否这样的输入。但是我想把它提高一个层次,让它接受这样的值。“我不确定”

基本上,我想将以下伪代码转换为片段

def ask_for_input():

    user_inp = input("gimme dat")

    if "yes" in user_inp:
        return "yes"
    elif "no" in user_inp:
        return "no"
    elif "know" in user_inp:
        return "idk"
    else :
        return "invalid"
        # ask for input again now

使用str index在另一个字符串中搜索一个字符串。由于“know”包含子字符串“no”,您需要首先搜索“know”:

CLIPS> 
(deffunction ask_for_input ()
   (bind ?user_inp (readline))
   (if (str-index "yes" ?user_inp)
      then (return "yes")
      else 
      (if (str-index "know" ?user_inp)
         then (return "idk")
         else
         (if (str-index "no" ?user_inp)
            then (return "no")
            else (return "invalid")))))
CLIPS> (ask_for_input)
yes
"yes"
CLIPS> (ask_for_input)
yah
"invalid"
CLIPS> (ask_for_input)
I don't know
"idk"
CLIPS> (ask_for_input)
not really
"no"
CLIPS>