让Python 3识别并理解语法

时间:2014-02-04 21:02:24

标签: python-3.3

我正在尝试创建一个python 3程序,它会根据您的要求调用它。

例如:"Call me Steve"应该返回"Ok! I'll call you: Steve"我不想使用类似的内容:

if user_input == "Steve":
   print output

我希望感知命令中的名称。我该怎么做?

4 个答案:

答案 0 :(得分:0)

我知道你说你不想使用==比较器,但你可以使用

if 'Steve' in user_input:

答案 1 :(得分:0)

您可以使用正则表达式匹配来获取名称,如下所示:

import re
m = re.search("Call me (\S+)", "Call me Steve")
name = m.group(1)
return "Ok! I'll call you: " + name;

答案 2 :(得分:0)

我不知道你的意思是什么意思,但所有的聊天机器人(我都知道)是使用或多或少复杂的模式匹配和带有固定答案的数据库构建的,可能还有一些与语境和语义相关的问题国家能够遵循“主题”。

我认为ELIZA是较旧的例子之一。它包括一些答案中的一些输入,它可能会说服某人几秒钟。

答案 3 :(得分:0)

要将文件读入数组,我会按如下方式进行。

    names = []
    with open('names.txt') as file:
        for word in file:
            names.append(word)

然后在你的程序中:

    if user_input in names:
        name  = user_input
        print('I' call you: ',Name)

(抱歉,我自己无法测试此代码)