import math
def area(a, b, c):
if a + b > c and a + c > b and b + c > a:
s = (a + b + c) / 2
triangle_area = math.sqrt(s * (s - a) * (s - b) * (s - c))
return round(triangle_area, 2)
else:
return "不能够成三角形"
def main():
a = float(input("请输入第一条边的长度:"))
b = float(input("请输入第二条边的长度:"))
c = float(input("请输入第三条边的长度:"))
result = area(a, b, c)
print(result)
main()
我可以解决该问题。
首先需要明确三角形的计算公式:海伦公式(常用公式)或者其他。这里选择使用海伦公式。
海伦公式: 设三角形三边长分别为a,b,c,则S=sqrt[p(p-a)(p-b)(p-c)],其中p=(a+b+c)/2,S为三角形面积。
根据公式,可以写出Python函数的代码实现:
import math
def calculate_triangle_area(a, b, c):
# 判断是否能够组成三角形
if a+b>c and a+c>b and b+c>a:
# 计算海伦公式中的p
p = (a+b+c)/2
# 计算三角形面积
area = math.sqrt(p*(p-a)*(p-b)*(p-c))
# 返回结果,保留两位小数
return round(area,2)
else:
print("无法组成三角形,请重新输入合法的三边长")
在代码中,首先判断输入的三边长是否能够组成三角形,如果可以,计算海伦公式中的p和三角形面积;如果不行,输出提示信息。
可以使用以下代码进行测试:
a = 3
b = 4
c = 5
area = calculate_triangle_area(a, b, c)
print(area)
运行结果应该是6.0,即三边长为3、4、5的三角形面积为6.0。