设计并实现一个矩形类 Rectangle,要求: (1)用左上角和右下角的坐标描述矩形; (2)计算面积、周长; (3)移动矩形; (4)合理的初始化,默认宽和高都是1。设计测试程序
时间: 2024-01-18 07:02:56 浏览: 117
好的,我会根据您的要求设计并实现一个矩形类 Rectangle,以下是代码实现:
```python
class Rectangle:
def __init__(self, x1=0, y1=0, x2=1, y2=1):
self.x1, self.y1 = x1, y1
self.x2, self.y2 = x2, y2
def area(self):
return abs((self.x2 - self.x1) * (self.y2 - self.y1))
def perimeter(self):
return abs(2 * (self.x2 - self.x1 + self.y2 - self.y1))
def move(self, dx=0, dy=0):
self.x1 += dx
self.y1 += dy
self.x2 += dx
self.y2 += dy
if __name__ == '__main__':
rect = Rectangle(1, 1, 4, 3)
print("矩形的面积为:", rect.area())
print("矩形的周长为:", rect.perimeter())
rect.move(2, 3)
print("移动后的矩形的左上角坐标为:({0}, {1})".format(rect.x1, rect.y1))
print("移动后的矩形的右下角坐标为:({0}, {1})".format(rect.x2, rect.y2))
```
测试程序输出结果如下:
```
矩形的面积为: 6
矩形的周长为: 10
移动后的矩形的左上角坐标为:(3, 4)
移动后的矩形的右下角坐标为:(6, 6)
```
以上代码实现了一个矩形类 Rectangle,可以根据左上角和右下角的坐标描述矩形,计算矩形的面积和周长,移动矩形,并且初始化时默认宽和高都是1。
阅读全文