我是否在使用Python';什么是循环错误?我怎样才能解决这个问题?
我正试图在twilio中使用以下脚本创建聊天机器人。我是否在使用Python';什么是循环错误?我怎样才能解决这个问题?,python,flask,twilio,Python,Flask,Twilio,我正试图在twilio中使用以下脚本创建聊天机器人。 但是,如果发送到聊天机器人的消息包含来自CChangDict的关键字,那么它可以正常工作。如果消息包含SLoansDict中的单词,则会提示错误5000。我相信这是由于我不正确地使用了“for”循环 关于如何改进我的代码,以确保如果消息包含来自字典(CChangeDict或SLoansDict)的单词,则会发送正确的答案作为响应,有什么想法吗 谢谢 def respond(message): response = Messag
但是,如果发送到聊天机器人的消息包含来自CChangDict的关键字,那么它可以正常工作。如果消息包含SLoansDict中的单词,则会提示错误5000。我相信这是由于我不正确地使用了“for”循环 关于如何改进我的代码,以确保如果消息包含来自字典(CChangeDict或SLoansDict)的单词,则会发送正确的答案作为响应,有什么想法吗 谢谢
def respond(message):
response = MessagingResponse()
response.message(message)
return str(response)
@app.route('/webhook', methods=['POST'])
def webhook():
student = request.form.get('From')
message = request.form.get('Body').lower()
for keyword in CChangeDict:
if keyword in message:
return respond(JoeDict["ClimateChange"])
for keywork in SLoansDict:
if keyword in message:
return respond(JoeDict["StudentLoans"])
您在第二个
循环中输入了一个拼写错误
关键字
您将收到错误500,因为在找不到关键字的情况下,您没有响应任何内容
总而言之
for keyword in CChangeDict:
if keyword in message:
return respond(JoeDict["ClimateChange"])
for keyword in SLoansDict:
if keyword in message:
return respond(JoeDict["StudentLoans"])
return respond("I don't know what to say.")
或者将两个for循环合并在一起
for keywords, response in (
(CChangeDict, JoeDict["ClimateChange"]),
(SLoansDict, JoeDict["StudentLoans"]),
):
if any(keyword in message for keyword in keywords):
return respond(response)
return respond("I don't know what to say.")
keywork
需要在那里进行关键字
拼写检查。但就您的观点而言,您还没有显示这两个各自的字典(您是如何设置它们的),您还可以检查这两个字典,而不是使用zip单独进行检查。