我正在尝试创建一个python 3程序,它会根据您的要求调用它。
例如:"Call me Steve"
应该返回"Ok! I'll call you: Steve"
我不想使用类似的内容:
if user_input == "Steve":
print output
我希望感知命令中的名称。我该怎么做?
答案 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)
(抱歉,我自己无法测试此代码)