从聊天机器人中的字典获取响应
Get response from dictionary in chatbot
我正在创建一个简单的聊天机器人,使用 random.choice()
对可能评论的可能回复。
我想知道如何使用字典而不是 return
。以及这是否对我的代码更有优势:
def create_response(self, menss, first_message):
if first_message == menssin ('ok'):
return random.choice(['Ok'])
if menss == menss in ('hi'.lower(), 'hello'.lower(),
return random.choice(['Hi', 'Hello', 'Helloo'])
elif menss == menss in ('Y?'.lower(), 'Wbu?'.lower()):
return random.choice(['No.', 'Nop.'])
这个怎么样:
def __init__(self):
self.inventory = [
(['Format:', 'List', 'of', 'questions'], ['list', 'of', 'possible', 'answers']),
(['ok'], ['Ok']),
(['hi', 'hello'], ['Hi', 'Hello', 'Helloo']),
(['y?', 'wbu?'], ['No.', 'Nop.']),
]
def create_response(self, user_message):
for questions, answers in self.inventory:
if user_message.lower() in questions:
return random.choice(answers)
这 returns None
当 user_message
在任何问题中都找不到时。
我正在创建一个简单的聊天机器人,使用 random.choice()
对可能评论的可能回复。
我想知道如何使用字典而不是 return
。以及这是否对我的代码更有优势:
def create_response(self, menss, first_message):
if first_message == menssin ('ok'):
return random.choice(['Ok'])
if menss == menss in ('hi'.lower(), 'hello'.lower(),
return random.choice(['Hi', 'Hello', 'Helloo'])
elif menss == menss in ('Y?'.lower(), 'Wbu?'.lower()):
return random.choice(['No.', 'Nop.'])
这个怎么样:
def __init__(self):
self.inventory = [
(['Format:', 'List', 'of', 'questions'], ['list', 'of', 'possible', 'answers']),
(['ok'], ['Ok']),
(['hi', 'hello'], ['Hi', 'Hello', 'Helloo']),
(['y?', 'wbu?'], ['No.', 'Nop.']),
]
def create_response(self, user_message):
for questions, answers in self.inventory:
if user_message.lower() in questions:
return random.choice(answers)
这 returns None
当 user_message
在任何问题中都找不到时。