返回三角形面积判断合法性Python代码
时间: 2024-11-05 07:32:03 浏览: 3
在Python中,你可以创建一个函数来判断输入的三角形边长是否合法(即任意两边之和大于第三边),然后计算其面积。这里是一个简单的示例:
```python
def is_valid_triangle(a, b, c):
"""
判断三个边长能否构成一个有效的三角形
:param a: 第一条边
:param b: 第二条边
:param c: 第三条边
:return: 如果能构成三角形,返回True;否则返回False
"""
if a + b > c and a + c > b and b + c > a:
return True
else:
return False
def triangle_area(a, b, c):
"""
计算并检查三角形面积,若无效则抛出异常
:param a: 第一条边
:param b: 第二条边
:param c: 第三条边
:raises ValueError: 当三角形无效时
:return: 三角形的面积
"""
# 首先验证边长是否合法
if not is_valid_triangle(a, b, c):
raise ValueError("Invalid triangle sides provided.")
# 使用海伦公式计算面积
s = (a + b + c) / 2 # 半周长
area = (s * (s - a) * (s - b) * (s - c)) ** 0.5
return area
# 示例使用
try:
side1 = float(input("请输入第一条边的长度: "))
side2 = float(input("请输入第二条边的长度: "))
side3 = float(input("请输入第三条边的长度: "))
area = triangle_area(side1, side2, side3)
print(f"三角形的面积是: {area}")
except ValueError as e:
print(e)
```
在这个例子中,用户会被提示输入三角形的三边长度。如果输入的是有效边长,程序会计算并打印面积;如果输入的边无法形成一个有效的三角形,它将抛出一个ValueError异常。
阅读全文