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 Advanced Objects Proper Properties

Jack Cummins
Jack Cummins
17,417 Points

I can't see my error

The challenge is: Let's add one more property to our Rectangle class. This time, add a perimeter property that returns the perimeter of the rectangle (length * 2 + width * 2).

Please help me, I don't know what I'm doing wrong, Jack

rectangle.py
class Rectangle:
    def __init__(self, width, length):
        self.width = width
        self.length = length

    @property
    def area(self):
        return self.width*self.length
    def perimeter(self):
        return self.length * 2 + self.width * 2

1 Answer

Ken Alger
STAFF
Ken Alger
Treehouse Teacher

Jack;

perimeter should be a @property too, right? ;-)

Ken

Jack Cummins
Jack Cummins
17,417 Points

Thanks Ken, You are one of my favorite teachers! I really like your videos!

Ken Alger
Ken Alger
Treehouse Teacher

Thanks, Jack. I appreciate that. Pleased to hear that you are enjoying Treehouse.

Jack Cummins
Jack Cummins
17,417 Points

Treehouse has helped me so much. I didn't even know how to code, and after just doing treehouse for a bit, I fell like I can make basic projects with quite a few languages!