class Polygon:
    def __init__(self, no_of_sides):
        self.n = no_of_sides
        self.sides = [0 for i in range(no_of_sides)]

    def inputSides(self):
        self.sides = [
            float(input("Enter side " + str(i + 1) + " : ")) for i in range(self.n)
        ]

    def dispSides(self):
        for i in range(self.n):
            print("Side", i + 1, "is", self.sides[i])


class Triangle(Polygon):
    def __init__(self):
        Polygon.__init__(self, 3)

    def findArea(self):
        a, b, c = self.sides
        # calculate the semi-perimeter
        s = (a + b + c) / 2
        area = (s * (s - a) * (s - b) * (s - c)) ** 0.5
        print("El area del triangulo es %0.2f" % area)


t = Triangle()

t.inputSides()

t.dispSides()

t.findArea()


print(isinstance(t, Triangle))

print(isinstance(t, Polygon))

print(isinstance(t, object))

print(issubclass(Polygon, Triangle))

print(issubclass(Triangle, Polygon))
