AttributeError: Equilateral instance has no attribute 'angle1


#1

Mine doesn't work, someone can help?

It says: "AttributeError: Equilateral instance has no attribute 'angle1'" when it's clear in the instruction that we should create an __init__() function with only the parameter self !

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

class Equilateral(Triangle):
    angle = 60
    
    def __init__(self):
        self.angle1 == self.angle
        self.angle2 == self.angle
        self.angle3 == self.angle
        
my_triangle = Triangle(90,30,60)
my_equilateral = Equilateral()

print my_triangle.number_of_sides
print my_triangle.check_angles()
print my_equilateral.number_of_sides
print my_equilateral.check_angles()

#2

Hi,

you did almost everything right.
In your Equilateral class is the mistake.

look closely what you did there with the assignments of the self.variables to variables.
You did an logical expression by writing there ==. It's one one =, hence you are assigning a variabl to a variable and not a logical check. see in the other's class variable definiton, theres also one one equal sign.