编一个程序计算三角形的面积。要求自定义异常类,当所输入的数据不能构成三角形时,若计算面积,给出错误提示信息。
时间: 2024-05-04 20:17:22 浏览: 22
好的,以下是满足您要求的 Python 代码:
```python
class TriangleError(Exception):
pass
def calc_triangle_area(a, b, c):
if a + b <= c or a + c <= b or b + c <= a:
raise TriangleError("输入的三边长度不能构成三角形!")
p = (a + b + c) / 2
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
return area
try:
a = float(input("请输入第一条边长:"))
b = float(input("请输入第二条边长:"))
c = float(input("请输入第三条边长:"))
area = calc_triangle_area(a, b, c)
print("三角形的面积为:", area)
except ValueError:
print("输入的不是有效数字,请重新输入!")
except TriangleError as e:
print(e)
```
程序中定义了一个自定义异常类 `TriangleError`,用于当输入的三边长度不能构成三角形时抛出异常。`calc_triangle_area` 函数用于计算三角形的面积,如果输入的三边长度不能构成三角形,则抛出 `TriangleError` 异常。在 `try-except` 结构中,通过 `float()` 函数将输入的字符串转换为浮点数。如果输入的不是数字,则抛出 `ValueError` 异常。如果输入的三边长度不能构成三角形,则抛出 `TriangleError` 异常。如果一切正常,则输出计算得到的三角形面积。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)