I wanted not allow user to set minus number to radius, but I got maximum recursion depth exceeded in comparison. Im new and I don't understand it at all.
class Circle:
def __init__(self, radius=1):
if radius < 0:
raise ValueError("Radius cannot be negative")
else:
self.radius = radius
@property
def radius(self):
pass
@radius.setter
def radius(self, value):
if value < 0:
raise ValueError("Radius cannot be negative")
else:
self.radius = value
@property
def diameter(self):
return self.radius * 2
@diameter.setter
def diameter(self, value):
self.radius = value / 2
@property
def area(self):
return self.radius ** 2 * math.pi
@area.setter
def area(self, value):
self.radius = math.sqrt(value / math.pi)