Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python Object-Oriented Python Instant Objects __init__

Rajat Thukral
Rajat Thukral
456 Points

I think my solution is correct

Please review the code, I couldn't find any error.

first_class.py
class Student:
    def __init__(self, name, **kwargs):
        self.name = name
        for attribute, value in kwargs.items():
            setattr(self, attribute, value)

    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()
        return self.reassurance()

3 Answers

Louise St. Germain
Louise St. Germain
19,424 Points

Hi Rajat,

Hopefully you already figured it out, but there was a single tab followed by spaces in front of this line:

self.name = name

In the rest of your code, everything was indented with spaces. That's probably what messed things up - Python is really sensitive to mixes of tabs and spaces. As Steven said, everything else looks good though.

Steven Parker
Steven Parker
229,744 Points

It looks good to me, so I tested it by pasting it directly into the challenge and it passed!

Maybe your browser got into an odd state. Try restarting it and give it another shot.

Dylan Schultz
Dylan Schultz
2,785 Points

Oooh! Thank you Louise St. Germain that was my problem too. I even tried the pasting trick and couldn't get it to work. I think maybe the challenge is sending everyone this version that contains a tab for some reason.

Louise St. Germain
Louise St. Germain
19,424 Points

Glad it helped! Yeah, I've found that if code isn't working for some inexplicable reason, the tabs/spaces thing is often the culprit.