python编写程序,按用户输入的三角形的3条边判断能否构成直角三角形,若能构成,计算三角形的面积和周长,否则引发异常。
时间: 2023-12-29 07:25:17 浏览: 40
好的,以下是根据您的要求编写的 Python 代码:
```python
import math
class NotRightTriangleException(Exception):
pass
def is_right_triangle(a, b, c):
if a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2:
return True
else:
return False
try:
a = float(input("请输入三角形的第一条边:"))
b = float(input("请输入三角形的第二条边:"))
c = float(input("请输入三角形的第三条边:"))
if is_right_triangle(a, b, c):
perimeter = a + b + c
s = (a + b + c) / 2
area = math.sqrt(s * (s - a) * (s - b) * (s - c))
print("可以构成直角三角形,面积为:{},周长为:{}".format(area, perimeter))
else:
raise NotRightTriangleException("不能构成直角三角形!")
except ValueError:
print("输入错误,请输入数字!")
except NotRightTriangleException as e:
print(e)
```
运行程序后,会提示您分别输入三角形的三条边,如果能构成直角三角形,程序会计算出三角形的面积和周长并输出;如果不能构成直角三角形,则会引发自定义的异常 `NotRightTriangleException` 并输出异常信息。
需要注意的是,这个程序只适用于输入的三角形是直角三角形的情况,如果输入的三角形不是直角三角形,程序会抛出异常。如果您需要处理其他类型的三角形,请根据需要修改程序。