Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Python Object-Oriented Python Instant Objects Method Interactivity

using a method to return another method within the same class

in the method feedback I am trying to return either the method praise or reassurance depending on the grade. I am not sure why this is not working. Can someone point me in the right direction? Thanks!

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

    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, grade)
        if grade > 50
            return self.praise()
        else return self.reassurance()

1 Answer

Alex Koumparos
seal-mask
.a{fill-rule:evenodd;}techdegree
Alex Koumparos
Python Development Techdegree Student 36,862 Points

Hi Julie,

Whenever you are starting a new block (that means the next line will need to be indented) you need to finish the declaration with a colon (compare the last character of the function definitions provided for you with the equivalent line in your own function definition).

Ditto for your if line and your else (note that for your else line, else finishes with a colon and the return statement, which is in the else block, should be on the next line and indented).

Hope that clears everything up for you

Cheers

Alex

Thanks Alex! I knew I was missing something obvious. I do know the colons should be there, but I'm not experienced to notice when they are missing. I appreciate your clear explanations. Best, Julie