python编写程序 输入三角形三条边判断能否构成三角形 若能构成计算三角形的面积和周长 若则引发异常
时间: 2023-09-04 17:12:07 浏览: 89
好的,你可以将以下代码保存为.py文件并运行,即可实现输入三角形三条边并判断能否构成三角形,计算面积和周长,若不能构成三角形则引发异常。
```
import math
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def is_valid(self):
if self.a + self.b > self.c and self.a + self.c > self.b and self.b + self.c > self.a:
return True
else:
return False
def perimeter(self):
return self.a + self.b + self.c
def area(self):
p = self.perimeter() / 2
return math.sqrt(p * (p - self.a) * (p - self.b) * (p - self.c))
try:
a = float(input("请输入三角形第一条边的长度:"))
b = float(input("请输入三角形第二条边的长度:"))
c = float(input("请输入三角形第三条边的长度:"))
triangle = Triangle(a, b, c)
if triangle.is_valid():
print("这是一个三角形,周长为:%f,面积为:%f" % (triangle.perimeter(), triangle.area()))
else:
raise ValueError("这不是一个三角形!")
except ValueError as e:
print("输入错误:", e)
except Exception as e:
print("发生异常:", e)
```
当输入三个合法的边长时,程序会输出这是一个三角形,周长为:xxx,面积为:xxx的结果;当输入的三个边长无法构成三角形时,程序会引发ValueError异常并输出这不是一个三角形!;当输入的内容不符合要求时,程序会引发其他异常并输出相应的错误信息。