python编程,设计程序能够计算键盘输入三条边的三角形的面积。其中,对输入的数据使用异常进行约束,假如输入的数据类型错误则进行“类型错误”的异常处理。假如输入的三条边不能够满足三角形的组成,则抛出自定义的异常类并进行处理。当输入数据都正确时,使用面向对象的编程计算三角形的面积。
时间: 2024-05-10 21:14:55 浏览: 21
好的,下面是代码实现:
```python
class Triangle:
def __init__(self, a, b, c):
self.a = float(a)
self.b = float(b)
self.c = float(c)
def get_area(self):
s = (self.a + self.b + self.c) / 2
area = (s * (s - self.a) * (s - self.b) * (s - self.c)) ** 0.5
return area
class TriangleError(Exception):
def __init__(self, message):
self.message = message
try:
a = input("请输入第一条边的长度:")
b = input("请输入第二条边的长度:")
c = input("请输入第三条边的长度:")
triangle = Triangle(a, b, c)
if triangle.a + triangle.b <= triangle.c or triangle.a + triangle.c <= triangle.b or triangle.b + triangle.c <= triangle.a:
raise TriangleError("无法构成三角形")
except ValueError:
print("类型错误")
except TriangleError as e:
print(e.message)
else:
print("三角形的面积为:", triangle.get_area())
```
这里定义了一个Triangle类来计算三角形的面积,其中`__init__`方法接收三条边的长度,并将其转换为浮点型。`get_area`方法使用海伦公式计算三角形的面积。
在主程序中,使用`try-except`语句进行异常处理。如果用户输入的数据类型错误,会抛出ValueError异常;如果输入的三条边不能够满足三角形的组成,则会抛出自定义的TriangleError异常。当输入数据都正确时,计算三角形的面积并输出。