编程序实现功能:输入三角形的三条边边长,求三角形面积,其中面积计算使用用户自定义函数实现。
输出的面积保留两位小数。
输入格式:
边长1
边长2
边长3
输出格式:
当三条边可能构成合法的三角形时,输出应为:
面积
当三条边无法构成合法的三角形时,输出:
数据错误
输入样例:
3
4
5
输出样例:
6.00
提示:面积计算可使用海伦公式(如下);两边之和大于第3边;两边之差小于第3边。
S = sqrt( p(p-a) (p-b)(p-c) )
p = (a+b+c)/2
可以使用简单的if语句
实现,也可以使用函数实现
1.if语句实现
import math
a = float(input())
b = float(input())
c = float(input())
if a + b > c and a + c > b and b + c > a and a - b < c and a - c < b and b - c < a:
p = (a + b + c) / 2
S = math.sqrt(p * (p-a) * (p-b)* (p-c))
print("%.2f" % S)
else:
print('数据错误')
直接用条件进行判断,来判断输入的边长是否能构成一个三角形。
如果能构成三角形,直接在主程序中计算面积并输出结果,保留两位小数。
2.函数实现
import math
def area(a, b, c):
p = (a + b + c) / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
return area
a = float(input())
b = float(input())
c = float(input())
if a + b > c and a + c > b and b + c > a and a - b < c and a - c < b and b - c < a:
S = area(a, b, c)
print("%.2f" % S)
else:
print("数据错误")
定义一个area函数
,该函数通过海伦公式计算三角形的面积。同时,从用户处接收三角形的三边长输入。使用条件判断验证输入的边长是否能构成一个三角形(包括验证任意两边之和大于第三边,同时包含了多余的任意两边之差小于第三边的验证)。如果能构成三角形,调用area函数
并输出结果,保留两位小数
总结
通过函数封装提高了代码的可重用性和可读性,而使用if语句实现更直接地展示了计算逻辑。在实际编程中,根据具体需求和代码风格,可以选择是否使用函数封装。