三角形面积计算公式:
1.已知三角形底a,高h,则
2,已知三角形的三个边长,海伦公式S = √[s(s-a)(s-b)(s-c)]
本次编程使用海伦公式计算三角形的面积:
1,输入三角形三个边长数据
2,使用海伦公式计算面积
a = int(input("请输入三角形的第一个边长:"))
b = int(input("请输入三角形的第二个边长:"))
c = int(input("请输入三角形的第三个边长:"))
s = (a+b+c) / 2
# print(s)
S = (s*(s-a)*(s-b)*(s-c))**0.5
S = round(S,2) # 保留两位有效点数
print("三角形的三个边长分别为:"+str(a)+"、"+str(b)+"、"+str(c))
print("面积S是:"+str(S))
优化程序
1,限定三角形的边长数据范围,>0的浮点数;
2,数据需满足三角形三个边长的关系
两边之和大于第三边
a = float(input("请输入第一个边长:"))
b = float(input("请输入第二个边长:"))
c = float(input("请输入第三个边长:"))
if 0 < c < a + b and a + c > b > 0 and b + c > a > 0:
s = (a + b + c) / 2
S = (s * (s - a) * (s - b) * (s - c)) ** 0.5 # 海伦公式
S = round(S, 2) # 计算数据保留2为有效小数
print("三角形的三个边长分别为:" + str(a) + "、" + str(b) + "、" + str(c))
print("面积S是:" + str(S))
else:
print("输入的数据有误")
将三角形边长判定条件编写成一个函数
a = float(input("请输入第一个边长:"))
b = float(input("请输入第二个边长:"))
c = float(input("请输入第三个边长:"))
def det_tri(a, b, c):
if 0 < c < a + b and a + c > b > 0 and b + c > a > 0:
return True
else:
return False
if det_tri(a, b, c):
s = (a + b + c) / 2
S = (s * (s - a) * (s - b) * (s - c)) ** 0.5 # 海伦公式
S = round(S, 2) # 计算数据保留2为有效小数
print("三角形的三个边长分别为:" + str(a) + "、" + str(b) + "、" + str(c))
print("面积S是:" + str(S))
else:
print("输入的数据有误")