python中编写程序,按用户输入的三角形3条边判断能否构成直角三角形,若能 构成则计算三角形的周长和面积,否则引发异常
时间: 2024-03-15 16:46:03 浏览: 68
好的,我可以帮你解决这个问题。以下是 python 代码实现:
```python
def triangle():
try:
a = float(input("请输入三角形第一条边的长度:"))
b = float(input("请输入三角形第二条边的长度:"))
c = float(input("请输入三角形第三条边的长度:"))
if a + b <= c or a + c <= b or b + c <= a:
raise Exception("输入的三条边不能构成一个三角形!")
if a > b and a > c:
if a ** 2 == b ** 2 + c ** 2:
print("这是一个直角三角形")
perimeter = a + b + c
p = perimeter / 2
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print("三角形的周长为:", perimeter)
print("三角形的面积为:", area)
else:
print("这不是一个直角三角形")
elif b > a and b > c:
if b ** 2 == a ** 2 + c ** 2:
print("这是一个直角三角形")
perimeter = a + b + c
p = perimeter / 2
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print("三角形的周长为:", perimeter)
print("三角形的面积为:", area)
else:
print("这不是一个直角三角形")
else:
if c ** 2 == a ** 2 + b ** 2:
print("这是一个直角三角形")
perimeter = a + b + c
p = perimeter / 2
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print("三角形的周长为:", perimeter)
print("三角形的面积为:", area)
else:
print("这不是一个直角三角形")
except Exception as e:
print(e)
triangle()
```
代码解释:
1. 定义 `triangle()` 函数,该函数用于获取用户输入的三角形三条边并判断是否为直角三角形。
2. 使用 `try-except` 结构,当用户输入的三条边不能构成一个三角形时,会引发一个自定义异常,并输出异常信息。
3. 使用 `if` 条件语句判断用户输入的三条边是否为直角三角形,并计算出三角形的周长和面积,最后输出结果。
希望我的回答对你有所帮助!