1.本程序功能:
随意输入三个数值,程序可判断是否可组成三角形:
(1)若三个数中任意数小于等于0,程序输出“输入错误,请重新输入:”
(2)若三个数均大于0,但不能组成三角形,则输出“无法构成三角形”
(3)若能组成三角形,可计算出三角形三个角的大小和三角形面积和周长。
2.程序源码:
import math
class Triangle():
def __init__(self,a,b,c):
self.a = a
self.b = b
self.c = c
def angleA(self):
agA = math.acos((self.b**2 + self.c**2-self.a**2)/(2*self.b*self.c))
return agA
def angleB(self):
agB = math.acos((self.c**2 + self.a**2-self.b**2)/(2*self.a*self.c))
return agB
def angleC(self):
agC = math.acos((self.a**2 + self.b**2-self.c**2)/(2*self.a*self.b))
return agC
def square(self):
p = (self.a + self.b + self.c)/2
s = math.sqrt(p*(p-self.a)*(p-self.b)*(p-self.c))
return s
def circle(self):
cz = self.a + self.b + self.c
return cz
a,b,c =map(int,input("请输入三角形的三条边长:").split())
if a<= 0 or b <= 0 or c <= 0 :
print("输入错误,请重新输入:")
elif any((
a + b <= c,
b + c <= a,
c + a <= b
)):
print("无法构成三角形")
else:
tr1 = Triangle(a, b, c)
print("a = ",tr1.a)
print("b = ",tr1.b)
print("c = ",tr1.c)
print("angleA =",tr1.angleA())
print("angleB =",tr1.angleB())
print("angleC =",tr1.angleC())
print("square =",tr1.square())
print("circle =",tr1.circle())