功能要求
编写一个控制台应用程序,从键盘上输入三角形的三边长,判断是否能组成三角形;如果可以构成三角形,则输出它的面积和三角形类型(等腰、等边、直角、普通),并根据海伦公式求出三角形的面积。
海伦公式:假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:

而公式里的p为半周长(周长的一半):
实例代码
- import math # 导入math模块
-
-
-
- # 从键盘上输入三角形的三条边长
-
- a, b, c = eval(input('请输入三角形三条边长:'))
-
- if a > 0 and b > 0 and \
-
- c > 0 and a + b > c and a + c > b and b + c > a: # 判断是否构成三角形
-
- # 用海伦公式计算面积
-
- p = (a + b + c) / 2 # 求出周长的一半
-
- area = math.sqrt(p * (p - a) * (p - b) * (p - c))
-
- if a == b != c or a == c != b or b == c != a: # 判断是否为等腰三角形
-
- result = '等腰三角形'
-
- elif a == b == c: # 判断是否为等边三角形
-
- result = '等边三角形'
-
- elif a ** 2 + b ** 2 == c ** 2 or \
-
- b ** 2 + c ** 2 == a ** 2 or \
-
- c ** 2 + a ** 2 == b ** 2: # 判断是否为直角三角形
-
- result = '直角三角形'
-
- else:
-
- result = '普通三角形'
-
- else:
-
- result = '非三角形'
-
- if result != '非三角形':
-
- print('三角形面积是:%.2f' % area)
-
- print('三边构成:%s' % result)
运行结果
从键盘上输入“1,1,3”,则a = 1,b = 1,c = 3,由于a + b = 2 < c = 3,不能构成三角形。
从键盘上输入“2,2,3”,则a = 2,b = 2,c = 3,由于a + b = 4 > c = 3,能构成三角形,根据海伦公式计算出三角形的面积为1.98,由于a = b = 2 ≠ c = 3,因此为等腰三角形。
从键盘上输入“3,3,3”,则a = 3,b = 3,c = 3,能构成三角形,根据海伦公式计算出三角形的面积为3.9,由于a = b = c = 3,因此为等边三角形。
从键盘上输入“3,4,5”,则a = 3,b = 4,c = 5,由于a + b = 7 > c = 5,能构成三角形,根据海伦公式计算出三角形的面积为6,由于a * a + b * b = 25 = c * c = 25,因此为直角三角形。
从键盘上输入“4,5,6”,则a = 4,b = 5,c = 6,由于a + b = 7 > c = 5,能构成三角形,根据海伦公式计算出三角形的面积为6,由于a * a + b * b = 25 = c * c = 25,因此为直角三角形。
