题目
分析
要点
三角形的任意两边之和大于第三条边
设a、b、c分别为三角形的三个边长,p为三角形的半周长
所以
p = 1/2(a+b+c)
根据海伦公式可得三角形面积
S = p(p-a)(p-b)(p-c) ** 0.5
代码
def main(a, b, c):
return a + b > c and a + c > b and b + c > a
def area(a, b, c):
s = (a + b + c) / 2
return (s * (s - a) * (s - b) * (s - c)) ** 0.5
if __name__ == "__main__":
a = float(input("请输入第一条边的长度:"))
b = float(input("请输入第二条边的长度:"))
c = float(input("请输入第三条边的长度:"))
if main(a, b, c):
area_value = area(a, b, c)
print("三角形的面积为:", area_value)
else:
print("输入无效")
运行结果