.编写程序,输入三角形三条边判断能否构成直角三角形,若能构成则计算三角形的面积和周长,否则引发异常。完整代码
时间: 2023-12-29 07:09:55 浏览: 136
以下是Python语言的完整代码:
```python
import math
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def is_right_triangle(self):
sides = [self.a, self.b, self.c]
sides.sort()
return (sides[0]**2 + sides[1]**2) == sides[2]**2
def area(self):
s = (self.a + self.b + self.c) / 2
return math.sqrt(s * (s - self.a) * (s - self.b) * (s - self.c))
def perimeter(self):
return self.a + self.b + self.c
try:
a = float(input("Enter the length of side a: "))
b = float(input("Enter the length of side b: "))
c = float(input("Enter the length of side c: "))
t = Triangle(a, b, c)
if t.is_right_triangle():
print("This is a right triangle.")
print("Area:", t.area())
print("Perimeter:", t.perimeter())
else:
raise Exception("This is not a right triangle.")
except ValueError:
print("Invalid input. Please enter a valid number.")
except Exception as e:
print(e)
```
这个程序中,我们首先定义了一个 `Triangle` 类,它有三个属性 `a`、`b`、`c` 分别表示三角形的三条边。类中定义了三个方法:`is_right_triangle()` 用于判断是否为直角三角形、`area()` 用于计算三角形面积、`perimeter()` 用于计算三角形周长。
在主程序中,我们通过输入三条边的长度来创建一个 `Triangle` 对象,并判断是否为直角三角形。如果是,就输出三角形的面积和周长;否则,就引发一个异常。如果输入的不是数字,则会捕获并输出一个错误提示。
阅读全文