编写程序,输入三角形三条边判断能否构成直角三角形,若能构成则计算三角形的面积和周长,否则引发异常
时间: 2023-12-29 15:55:34 浏览: 94
c++用函数写输入三边——判断三角形形状并计算面积周长
5星 · 资源好评率100%
好的,您可以参考以下代码实现:
```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):
if 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 True
else:
return False
def perimeter(self):
return self.a + self.b + self.c
def area(self):
s = self.perimeter() / 2
return math.sqrt(s * (s - self.a) * (s - self.b) * (s - self.c))
a = float(input("请输入三角形的第一条边长:"))
b = float(input("请输入三角形的第二条边长:"))
c = float(input("请输入三角形的第三条边长:"))
triangle = Triangle(a, b, c)
try:
if not triangle.is_right_triangle():
raise Exception("无法构成直角三角形!")
print("三角形的周长为:", triangle.perimeter())
print("三角形的面积为:", triangle.area())
except Exception as e:
print("发生异常:", e)
```
输入三角形三条边长后,程序会判断能否构成直角三角形,若能,则计算三角形的面积和周长,否则会引发异常。
阅读全文