在一个平面内,由左上角(top left)顶点坐标结合右下角(bottom right)顶点坐标即可确定一个平面矩形。请设计Rect和Point类,使其可以被下述代码所利用,并产生期望的输出。
时间: 2024-03-15 18:44:42 浏览: 149
好的,我可以帮你设计这两个类。下面是代码实现:
```python
class Point:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def __repr__(self):
return 'Point({}, {})'.format(self.x, self.y)
class Rect:
def __init__(self, top_left=Point(), bottom_right=Point()):
self.top_left = top_left
self.bottom_right = bottom_right
def __repr__(self):
return 'Rect({}, {})'.format(self.top_left, self.bottom_right)
p1 = Point(1, 2)
p2 = Point(3, 4)
r = Rect(p1, p2)
print(r)
```
输出结果为:`Rect(Point(1, 2), Point(3, 4))`
这段代码定义了一个`Point`类和一个`Rect`类,其中`Point`类表示平面上的一个点,`Rect`类表示平面上的一个矩形,由左上角和右下角两个点坐标确定。在`Rect`类中,我们使用了默认参数,使得在创建矩形对象时可以不传入参数。在`__repr__`方法中,我们使用字符串格式化输出矩形的坐标信息。最后,我们创建了一个`Point`对象和一个`Rect`对象,并输出了矩形对象的信息。
阅读全文