from math import pi class Circle: def __init__(self, radius=1): self.radius = radius def __repr__(self): return f"Circle({self.radius})" @property def radius(self): return self._radius @radius.setter def radius(self, radius): if radius < 0: raise ValueError("Radius cannot be negative") self._radius = radius @property def diameter(self): return 2 * self._radius @diameter.setter def diameter(self, diameter): if diameter < 0: raise ValueError("Diameter cannot be negative") self._radius = diameter / 2 @property def area(self): return pi * self._radius ** 2 @area.setter def area(self, area): raise AttributeError("Can't set attribute")