python面向对象输入三角形的三条边长确定是否为直角三角形,若是则计算其面积周长,若否,则异常
时间: 2024-05-11 11:20:22 浏览: 150
可以定义一个名为Triangle的类,该类有一个名为is_right_triangle的方法用来判断三角形是否为直角三角形,并有两个名为area和perimeter的方法用来计算直角三角形的面积和周长:
```python
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def is_right_triangle(self):
sides = [self.a, self.b, self.c]
sides.sort()
return sides[0]**2 + sides[1]**2 == sides[2]**2
def area(self):
if self.is_right_triangle():
return self.a * self.b / 2
else:
raise Exception("Not a right triangle")
def perimeter(self):
if self.is_right_triangle():
return self.a + self.b + self.c
else:
raise Exception("Not a right triangle")
```
使用时可以创建一个Triangle对象并调用它的方法:
```python
t = Triangle(3, 4, 5)
if t.is_right_triangle():
print("Area:", t.area())
print("Perimeter:", t.perimeter())
else:
print("Not a right triangle")
```
输出:
```
Area: 6.0
Perimeter: 12
```
如果输入的三边无法构成三角形,或者三角形不是直角三角形,则会抛出异常。
阅读全文