试定义一个三角形Triangle类,在Triangle类中以点MyPoint类的3个对象p1,p2,p3作为数据成员,表示三角形的三个顶点。Triangle类具有计算三角形的周长和面积的功能
时间: 2024-12-19 07:24:34 浏览: 14
在Python中,我们可以定义一个`Triangle`类,它包含三个`MyPoint`类型的实例变量来表示三角形的顶点。首先,假设已经有一个名为`MyPoint`的简单类,用于存储二维坐标。以下是`Triangle`类的设计:
```python
class MyPoint:
def __init__(self, x, y):
self.x = x
self.y = y
class Triangle:
def __init__(self, p1, p2, p3):
self.p1 = p1
self.p2 = p2
self.p3 = p3
# 计算周长
def perimeter(self):
return (self.p1.distance_to(self.p2) +
self.p2.distance_to(self.p3) +
self.p3.distance_to(self.p1))
# 假设distance_to方法已定义在MyPoint类中,返回两点之间的距离
# 如果没有现成方法,可以自己实现或使用第三方库如math库
def area(self):
a = self.p1.distance_to(self.p2)
b = self.p2.distance_to(self.p3)
c = self.p3.distance_to(self.p1)
# 使用海伦公式计算面积
s = (a + b + c) / 2
area = (s * (s - b) * (s - c)) ** 0.5
return area
# 示例创建三角形并获取周长和面积
triangle = Triangle(MyPoint(0, 0), MyPoint(3, 4), MyPoint(6, 0))
print("三角形周长:", triangle.perimeter())
print("三角形面积:", triangle.area())
```
阅读全文