无效的语法和sumlist> = 2

问题描述

我在以下位置收到无效的语法错误

if sum(severe_symptoms_list) >= 2

我已将严重和中度症状时段的值设置为True和False,具体取决于用户对是/否问题给出的答案。我做错了什么?

class ActionHowManySymptoms(Action):

    def name(self) -> Text:
        return "action_how_many_symptoms"

    def run (self,dispatcher,tracker,domain):

        severe_symptom1 = tracker.get_slot('severe_symptom_one')
        severe_symptom2 = tracker.get_slot('severe_symptom_two')
        severe_symptom3 = tracker.get_slot('severe_symptom_three')
        severe_symptom4 = tracker.get_slot('severe_symptom_four')

        moderate_symptom1 = tracker.get_slot('moderate_symptom_one')
        moderate_symptom2 = tracker.get_slot('moderate_symptom_two')
        moderate_symptom3 = tracker.get_slot('moderate_symptom_three')
        moderate_symptom4 = tracker.get_slot('moderate_symptom_four')

        severe_symptoms_list = [severe_symptom1,severe_symptom2,severe_symptom3,severe_symptom4]
        moderate_symptoms_list = [moderate_symptom1,moderate_symptom2,moderate_symptom3,moderate_symptom4]

        True = 1

        if sum(severe_symptoms_list) >= 2
            dispatcher.utter_response(response="utter_some_severe_symptoms",tracker)
        elif sum(severe_symptoms_list) == 1
            dispatcher.utter_response(response="utter_one_severe_symptoms",tracker)
        else:
            dispatcher.utter_response(response="utter_no_severe_symptoms",tracker)         

        if sum(moderate_symptoms_list) >= 2
            dispatcher.utter_message(response="utter_some_moderate_symptoms")
        elif sum(moderate_symptoms_list) == 1
            dispatcher.utter_message(response="utter_one_moderate_symptoms")
        else:
            dispatcher.utter_message(response="utter_no_moderate_symptoms")         

        return[]

解决方法

尝试以更体面的方式进行编码。从长远来看将对您有帮助

if (sum(severe_symptoms_list) >= 2):