编写程序,按照用户输入的3条边判断能否构成直角三角形,能构成计算三角形的面积和周长,否则引发异常python
时间: 2024-05-09 15:15:18 浏览: 108
以下是一个简单的 Python 程序,可以根据用户输入的三条边长度来计算三角形的面积和周长,如果输入的三条边不能构成直角三角形,则会引发异常:
```python
import math
a = float(input("请输入三角形的第一条边长:"))
b = float(input("请输入三角形的第二条边长:"))
c = float(input("请输入三角形的第三条边长:"))
if a <= 0 or b <= 0 or c <= 0:
raise Exception("边长必须为正数!")
# 判断是否为直角三角形
if math.isclose(a**2 + b**2, c**2) or math.isclose(a**2 + c**2, b**2) or math.isclose(b**2 + c**2, a**2):
print("可以构成直角三角形。")
# 计算三角形的面积和周长
p = (a + b + c) / 2 # 计算半周长
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
perimeter = a + b + c
print("三角形的面积为:%.2f,周长为:%.2f" % (area, perimeter))
else:
raise Exception("不能构成直角三角形!")
```
程序首先读取用户输入的三条边长,然后检查它们是否都为正数,如果有任何一个边长为非正数,则抛出异常。接下来,程序通过 `math.isclose()` 函数判断三角形是否为直角三角形,如果是,则计算三角形的面积和周长并输出结果,否则抛出异常。
阅读全文