Python Object-Oriented Python Instant Objects Method Interactivity

Object-Oriented Python task 2/2

I have added a grade argument and completed the if-else statement, and it is not working, what have I done wrong

first_class.py
class Student:
    name = "Your Name"
    grade = 50

    def praise(self):
        return "You inspire me, {}".format(self.name)

    def reassurance(self):
        return "Chin up, {}. You'll get it next time!".format(self.name)

    def feedback(self)
        if grade > 50:
            return praise
        else:
            return reassurance

1 Answer

Stivan Radev
Stivan Radev
7,017 Points
# Your code
# You forget : at the end of def function
    def feedback(self)  #<------ : Needed here, and also you are missing 'grade' argument for the feedback method
        if grade > 50:
            return praise #<---- Since praise is in the class Student and because it is a function we have to use self.praise() to call it

# You can remove the else and just return the reassurance, check the # Correct way below
        else:
# Just like praise, we have to use self. and () to call the reassurance method, check the code below
            return reassurance




# Correct way
def feedback(self, grade):
        if grade > 50:
            return self.praise()
        return self.reassurance()

Thank you!