写一个程序,判断用户输入的三个整数(表示三边长)是否能构成一个三角形, 如果不能则抛出异常,显示异常信息 “a,b,c 不能构成三角形”,如果可以构成则显示三角形类型《等边,等腰,直角,普通) 和三个边长。
时间: 2024-05-14 09:14:55 浏览: 134
以下是Python代码实现:
```python
class TriangleError(Exception):
pass
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def get_type(self):
if self.a == self.b == self.c:
return "等边三角形"
elif self.a == self.b or self.b == self.c or self.c == self.a:
return "等腰三角形"
elif self.a**2 + self.b**2 == self.c**2 or self.b**2 + self.c**2 == self.a**2 or self.c**2 + self.a**2 == self.b**2:
return "直角三角形"
else:
return "普通三角形"
def main():
try:
a = int(input("请输入第一条边长: "))
b = int(input("请输入第二条边长: "))
c = int(input("请输入第三条边长: "))
if a + b <= c or b + c <= a or c + a <= b:
raise TriangleError(f"{a},{b},{c} 不能构成三角形")
triangle = Triangle(a, b, c)
print(f"{triangle.get_type()},三边长为{a},{b},{c}")
except ValueError:
print("输入的不是整数")
except TriangleError as e:
print(e)
if __name__ == '__main__':
main()
```
我们定义了一个`TriangleError`异常类,用于在三角形无法构成时抛出异常。我们还定义了一个`Triangle`类,用于计算三角形类型。
在`main`函数中,我们通过`input`函数获取用户输入的三个整数,并检查它们是否能构成三角形。如果不能构成,则抛出`TriangleError`异常,显示异常信息。如果可以构成,则创建一个`Triangle`对象,并调用`get_type`方法获取三角形类型,然后输出结果。如果用户输入的不是整数,则捕获`ValueError`异常。
阅读全文