Inheritance


#1



https://www.codecademy.com/en/courses/python-intermediate-en-WL8e4/3/4?curriculum_id=4f89dab3d788890003000096

Oops, try again.
Failed to instantiate Equilateral, an error was thrown: 'Equilateral' object has no attribute 'angle1'


What is wrong with my code? Can't seem to get it right.


class Triangle(object):
    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
            
class Equilateral(Triangle):
    angle = 60
    def __init__(self):
        self.angle = self.angle1
        self.angle = self.angle2
        self.angle = self.angle3
            
my_triangle = Triangle(90, 30, 60)
print my_triangle.number_of_sides
print my_triangle.check_angles()


#2

OMG.

Apparently, in Python:

    self.angle = self.angle1
    self.angle = self.angle2
    self.angle = self.angle3

Is a different thing than:

    self.angle1 = self.angle
    self.angle2 = self.angle
    self.angle3 = self.angle

Problem solved.