class Pt:
    x : float
    y : float
    def __init__(self, x : float, y : float):
        self.x = x
        self.y = y
    def __str__(self) -> str:
        return f'({self.x}, {self.y})'
    def __repr__(self):
        return f'Pt({self.x!r}, {self.y!r})'
    def __add__(self, pt2):
        return Pt(self.x+pt2.x, self.y+pt2.y)
    def length(self):
        return (self.x**2 + self.y**2) ** 0.5

print(Pt(3,4) + Pt(6,7))
print([Pt(1,1), Pt(-4,23.4)])
p = Pt(3,4)
print(p.length())
p.x = "broken"
print(p)
print(p.length())