编写一个计算三角形面积的函数,函数的参数为三角形三边边长 a、b、c.可以用 Heron 公式计算,当输入的三边长有负值时,引发标准异常invalidargument;
时间: 2024-03-17 07:47:46 浏览: 85
Tri_crygza_三角形_面积_
下面是一个使用 Heron 公式计算三角形面积的函数,同时对输入参数进行了检查,如果输入的边长小于等于 0,则抛出 "invalid argument" 异常。
```python
import math
def triangle_area(a, b, c):
if a <= 0 or b <= 0 or c <= 0:
raise ValueError("invalid argument")
if a + b <= c or a + c <= b or b + c <= a:
raise ValueError("invalid argument")
s = (a + b + c) / 2
return math.sqrt(s * (s - a) * (s - b) * (s - c))
# 测试函数
print(triangle_area(3, 4, 5)) # 输出 6.0
print(triangle_area(4, 4, 4)) # 输出 6.928203230275509
print(triangle_area(-1, 2, 3)) # 抛出 ValueError: invalid argument 异常
```
在上面的代码中,我们首先对输入参数进行了检查,判断三角形的边长是否小于等于 0 或者是否满足三角形的条件。如果不符合要求,则抛出 "invalid argument" 异常。如果输入参数符合要求,则使用 Heron 公式计算三角形的面积并返回。
阅读全文