编写程序,输入三角形三条边判断能否构成直角三角形,若能构成则计算三角形的面积和周长,否则引发异常。
时间: 2023-12-29 09:20:14 浏览: 32
好的,这是一个计算几何的问题,我可以给您提供一个Python程序来实现这个功能:
```python
import math
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def is_right_triangle(self):
sides = sorted([self.a, self.b, self.c])
if sides[2]**2 == sides[0]**2 + sides[1]**2:
return True
else:
return False
def area(self):
s = (self.a + self.b + self.c) / 2
area = math.sqrt(s * (s - self.a) * (s - self.b) * (s - self.c))
return area
def perimeter(self):
perimeter = self.a + self.b + self.c
return perimeter
a = float(input("请输入三角形的第一条边长:"))
b = float(input("请输入三角形的第二条边长:"))
c = float(input("请输入三角形的第三条边长:"))
try:
tri = Triangle(a, b, c)
if tri.is_right_triangle():
print("这是一个直角三角形")
print("面积为:", tri.area())
print("周长为:", tri.perimeter())
else:
print("这不是一个直角三角形")
except:
print("输入了非法的边长,请重新输入")
```
如果输入的三条边可以构成直角三角形,程序会输出这是一个直角三角形,并计算出三角形的面积和周长,否则会输出这不是一个直角三角形,如果输入的边长不合法,则会引发异常,并输出提示信息。