Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我是否在使用Python';什么是循环错误?我怎样才能解决这个问题?_Python_Flask_Twilio - Fatal编程技术网

我是否在使用Python';什么是循环错误?我怎样才能解决这个问题?

我是否在使用Python';什么是循环错误?我怎样才能解决这个问题?,python,flask,twilio,Python,Flask,Twilio,我正试图在twilio中使用以下脚本创建聊天机器人。 但是,如果发送到聊天机器人的消息包含来自CChangDict的关键字,那么它可以正常工作。如果消息包含SLoansDict中的单词,则会提示错误5000。我相信这是由于我不正确地使用了“for”循环 关于如何改进我的代码,以确保如果消息包含来自字典(CChangeDict或SLoansDict)的单词,则会发送正确的答案作为响应,有什么想法吗 谢谢 def respond(message): response = Messag

我正试图在twilio中使用以下脚本创建聊天机器人。
但是,如果发送到聊天机器人的消息包含来自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单独进行检查。