Search code examples
pythonrasa

Invalid syntaxt sum(list) >= 2


I get an invalid syntax error at:

if sum(severe_symptoms_list) >= 2

I have set the values for the severe and moderate symptoms slots to True and False depending on what answer was given by the user to a YES/NO question. What have i done wrong ?

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[]

Solution

  • Try to code in a more decent presentable manner. It will help you in the long run

    if (sum(severe_symptoms_list) >= 2):