(17/18) Instantiate an Object - Bug?


#1



The link to the exercise:


Hi! I don't understand why my code doesn't run correctly. I've read several similar topics but haven't find the answer..

It returns me the following :
"Traceback (most recent call last):
** File "python", line 17, in **
AttributeError: Triangle instance has no attribute 'check_angles'"

What am I doing wrong?

Here's my code:


class Triangle():
    number_of_sides = 3 
    def __init__(self, angle1, angle2, angle3):
        self.angle1 = angle1
        self.angle2 = angle2
        self.angle3 = angle3
       
        def check_angles(self):
            if self.angle1 + self.angle2 + self.angle3 == 180:
                return True
            
            else:
                return False

my_triangle = Triangle(90, 30, 60)
print my_triangle.number_of_sides
print my_triangle.check_angles()

Thanks!


#2

Hi, @moonboy29 ,

Is the indentation of your check_angles method correct?

In Python, the indentation of the definition of an object determines the scope in which that object resides.

Compare the indentation of this ...

def __init__(self, angle1, angle2, angle3):

... to the indentation of this ...

def check_angles(self):

#3

Yeah, looks like I haven't checked my code accurately enough...

Thanks for your answer!


#4