python编写程序,按用户输入的三角形3条边判断能否构成直角三角形,若能构成则计算三角形的面积和周长,否则引发异常
时间: 2024-05-10 18:17:44 浏览: 25
可以使用python的math库来判断三角形是否为直角三角形,以下是代码实现:
```python
import math
def calc_triangle(a, b, c):
if a+b <= c or a+c <= b or b+c <= a:
raise ValueError("无法构成三角形")
if a*a + b*b == c*c or a*a + c*c == b*b or b*b + c*c == a*a:
perimeter = a + b + c
s = 0.5 * perimeter
area = math.sqrt(s * (s-a) * (s-b) * (s-c))
return (perimeter, area)
else:
raise ValueError("不是直角三角形")
try:
a = float(input("输入三角形第一条边长:"))
b = float(input("输入三角形第二条边长:"))
c = float(input("输入三角形第三条边长:"))
perimeter, area = calc_triangle(a, b, c)
print("该三角形的周长为:%.2f" % perimeter)
print("该三角形的面积为:%.2f" % area)
except ValueError as e:
print("输入错误:", e)
```
在这个程序中,我们先通过输入获取三角形的三条边长a, b, c,然后调用calc_triangle函数进行计算。如果无法构成三角形,会引发ValueError异常并显示"无法构成三角形"的提示信息;如果是直角三角形,则计算周长和面积并输出。如果不是直角三角形,则引发ValueError异常并显示"不是直角三角形"的提示信息。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)