构造矩形类,用对角线上两个点确定矩形。 矩形对象应有长(x轴距高)、宽(y轴距高),能够通过四数返回周长、面积信息。不用cmath库 (基于Point类,构造矩形类)
时间: 2024-03-16 08:40:56 浏览: 23
好的,我可以为您编写一个基于Point类构造的矩形类。以下是代码示例:
```python
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
class Rectangle:
def __init__(self, p1, p2):
self.width = abs(p1.x - p2.x)
self.height = abs(p1.y - p2.y)
def get_perimeter(self):
return 2 * (self.width + self.height)
def get_area(self):
return self.width * self.height
```
在这个示例中,我们首先定义了一个Point类,用于表示二维平面上的点。然后我们定义了一个Rectangle类,该类接受两个Point对象作为对角线上的两个点来构造矩形。
在矩形的构造函数中,我们通过对角线上的两个点计算出矩形的宽和高。我们使用Python的abs函数来确保这些值始终为正数。
然后我们定义了两个方法,get_perimeter和get_area,用于计算矩形的周长和面积。这些方法只需使用矩形的宽度和高度即可计算。
现在,我们可以创建一个Rectangle对象,并使用其方法来获取矩形的周长和面积。例如:
```python
# 创建两个点对象
p1 = Point(0, 0)
p2 = Point(3, 4)
# 创建矩形对象
rect = Rectangle(p1, p2)
# 获取矩形的周长和面积
print("周长:", rect.get_perimeter())
print("面积:", rect.get_area())
```
这将输出:
```
周长: 14
面积: 12
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)