定义并实现三角形类,其成员变量包括 3 个边长变量,成员函数包括构g造函数、以及是否构成直角三角形函数,如果是直角三角形计算三角形面积。 若两短边平方和等于最长边的平方,即为直角三角形 若两短边平方和大于最
时间: 2024-03-12 11:43:08 浏览: 158
三角形的面积计算和判断是否是三角形
4星 · 用户满意度95%
长边的平方,则为锐角三角形;若两短边平方和小于最长边的平方,则为钝角三角形。
根据问题描述,我给出以下三角形类的实现:
```python
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def is_right_triangle(self):
a, b, c = sorted([self.a, self.b, self.c])
return abs(a**2 + b**2 - c**2) < 1e-6
def area(self):
if self.is_right_triangle():
a, b, c = sorted([self.a, self.b, self.c])
return 0.5 * a * b
else:
p = (self.a + self.b + self.c) / 2
return (p * (p - self.a) * (p - self.b) * (p - self.c)) ** 0.5
```
其中,构造函数 `__init__` 接收三个参数 `a, b, c`,分别表示三角形的三条边长;成员函数 `is_right_triangle` 用于判断当前三角形是否为直角三角形,若是则返回 `True`,否则返回 `False`;成员函数 `area` 用于计算三角形的面积,如果当前三角形为直角三角形,则使用直角三角形的公式计算面积,否则使用海伦公式计算面积。
使用示例:
```python
# 定义一个三角形
t = Triangle(3, 4, 5)
# 判断是否为直角三角形
print(t.is_right_triangle()) # True
# 计算三角形面积
print(t.area()) # 6.0
```
注意:以上三角形类的实现仅供参考,可能存在不足之处,需要根据具体需求进行修改和完善。
阅读全文