python按照用户输入的三角形 3 条边,判断能否构成直角三 角形,若能构成则计算三角形的面积和周长,否则引发异常
时间: 2024-03-26 13:41:40 浏览: 23
可以使用以下代码实现:
```python
import math
# 获取三角形的三条边长
a = float(input("请输入三角形的第一条边长:"))
b = float(input("请输入三角形的第二条边长:"))
c = float(input("请输入三角形的第三条边长:"))
# 判断是否能构成直角三角形
if a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2:
print("可以构成直角三角形")
# 计算三角形的周长
perimeter = a + b + c
print("三角形的周长为:", perimeter)
# 计算三角形的面积
p = perimeter / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
print("三角形的面积为:", area)
else:
raise Exception("无法构成直角三角形")
```
在上述代码中,我们首先使用 `input()` 函数获取三角形的三条边长,使用 `if` 语句判断是否能构成直角三角形。对于能构成直角三角形的情况,我们使用勾股定理求出直角三角形的斜边,然后使用周长公式和海伦公式计算三角形的周长和面积。对于不能构成直角三角形的情况,我们使用 `raise` 语句引发一个异常。
运行示例:
```
请输入三角形的第一条边长:3
请输入三角形的第二条边长:4
请输入三角形的第三条边长:5
可以构成直角三角形
三角形的周长为: 12.0
三角形的面积为: 6.0
```
```
请输入三角形的第一条边长:1
请输入三角形的第二条边长:2
请输入三角形的第三条边长:3
Traceback (most recent call last):
File "test.py", line 17, in <module>
raise Exception("无法构成直角三角形")
Exception: 无法构成直角三角形
```