设计并实现一个矩形类Rectangle,要求: (1)用左上角和右下角的坐标描述矩形。 (2)计算面积,周长。 (3)移动矩形。 (4)合理的初始化,默认宽和高都是1. 编写测试程序。
时间: 2024-03-10 17:46:09 浏览: 214
好的,我来设计并实现一个满足你要求的矩形类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) * abs(self.y2 - self.y1)
def perimeter(self):
return 2 * (abs(self.x2 - self.x1) + abs(self.y2 - self.y1))
def move(self, dx, dy):
self.x1 += dx
self.y1 += dy
self.x2 += dx
self.y2 += dy
# 编写测试程序
if __name__ == '__main__':
# 初始化一个矩形
rect = Rectangle(0, 0, 3, 4)
# 计算矩形的面积和周长
area = rect.area()
perimeter = rect.perimeter()
# 输出矩形的面积和周长
print('矩形的面积为:', area)
print('矩形的周长为:', perimeter)
# 移动矩形
rect.move(1, 2)
# 输出矩形移动后的左上角和右下角坐标
print('矩形移动后的左上角坐标为:({}, {})'.format(rect.x1, rect.y1))
print('矩形移动后的右下角坐标为:({}, {})'.format(rect.x2, rect.y2))
```
这个矩形类的实现和上面一样,我们只是在最后加上了一段测试程序。在测试程序中,我们首先初始化了一个矩形,然后计算它的面积和周长,并输出结果。
接着,我们调用了`move`方法,将矩形向右移动了1个单位,向下移动了2个单位。
最后,我们输出矩形移动后的左上角和右下角坐标,以验证移动是否成功。
希望这个矩形类和测试程序能够满足你的需求!
阅读全文