python能否组成三角形并计算面积:求三角形的面积
python能否组成三角形并计算面积:求三角形的面积if a > 0 and b > 0 and \a b c = eval(input('请输入三角形三条边长:'))实例代码import math # 导入math模块# 从键盘上输入三角形的三条边长
功能要求
编写一个控制台应用程序,从键盘上输入三角形的三边长,判断是否能组成三角形;如果可以构成三角形,则输出它的面积和三角形类型(等腰、等边、直角、普通),并根据海伦公式求出三角形的面积。
海伦公式:假设在平面内,有一个三角形,边长分别为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,因此为直角三角形。