# 第10期-计算三角形面积

Python是一门需要不断实践练习的编程语言,本文档将AI大学堂学员交流群的Python每周练习进行汇总,希望各位小伙伴能够多进行实践练习,逐渐爱上这门神奇的编程语言,掌握它并在生活中能够使用它。

# 1 问题描述

三角形是由同一平面内的三条线段首尾顺次相接所组成的封闭图形。

但不是任意长度的三边都可以构成三角形,构成三角形的三边必须满足条件:任意两边之和大于第三边
假设三角形的三边的长度分别是a,b,c,构成三角形的条件就是:
a+b>c 且 a+c>b 且b+c>a​

当三边的长度可以构成三角形的时候,可以用海伦公式计算三角形的面积S:


其中,p为三角形的半周长(周长的一半):

今天用Python计算任意三角形面积:请用户输入三角形的三边长度,计算三角形面积~

海伦,古希腊数学家、力学家、机械学家,生平不详。 约公元62年活跃于亚历山大,在那里教过数学、物理学等课程。他多才多艺,善于博采众长,在论证中大胆使用某些经验性的近似公式,注重数学的实际应用。 ​
海伦有许多学术著作,都用希腊文撰写,但大部分已失传。主要著作是《量度论》一书,该书共3卷,分别论述平面图形的面积,立体图形的体积和将图形分成比例的问题.其中卷I第8题给出著名的已知三边长求三角形面积的海伦公式

# 2 解题思路

第一步: 用input函数请用户输入三条边的长度
第二步: 验证三角形是否成立
第三步: 用海伦公式计算面积
第四步: 输出结果

# 3 解题方法

a = float(input("输入三角形的第一条边长:"))
b = float(input("输入三角形的第二条边长:"))
c = float(input("输入三角形的第三条边长:"))

if a + b > c and a + c > b and b + c > a:
    p = (a + b + c) / 2
    s = pow(p * (p - a) * (p - b) * (p - c), 0.5)

    print(f"三角形的面积是{s: 0.2f}")

else:
    print("不能构成三角形,请重新输入!")
1
2
3
4
5
6
7
8
9
10
11
12

第1-3行: 分别定义变量a, b, c,input函数使用户输入三条边长,再用float函数将输入的字符串转换为浮点数
第5行: 用if...else语句判断用户输入的三条边是否可以构成三角形。若可以构成三角形,继续执行后续的代码;若不能构成三角形,则转到第11行,用print函数打印“不能构成三角形,请重新输入!”
第6行: 将三角形的半周长赋值给变量p
第7行: 根据海伦公式,用pow函数计算三角形的面积,并赋值给变量s​

pow是power的缩写,power就是我们讲的“幂”
pow(x,y) 返回 x 的 y 次方的值,如pow(2,3)返回的是2的3次方,即2**3;亦可称为2的3次幂

第9行: 用print函数打印三角形的面积,0.2f是小数点的位数,本题保留两位小数

# 4 视频解析

高清视频讲解,请查看AI大学堂Python基础实战100例 (opens new window)
关注『讯飞AI大学堂』公众号,发送 python100 即可领取Python基础实战100例源代码
AI大学堂公众号.png

更新于: 12/28/2021, 7:43:14 AM