#python 输入三条边的长度,判断这几条边是否能组成三角形

#python 输入三条边的长度,判断这几条边是否能组成三角形

问题描述:输入三角形的三条边,判断该三角形的形状,周长,面积和每条边的高。

第一步:导入所需要的库math

import math

第二步:判断此三条线段是否能组成三角形,

判断条件:#三角形三边a、b、c,必须满足:三条边长均大于零,并且任意两边之和大于第三边

输入三个数:

a=int(input("请输入边长a:"))
b=int(input("请输入边长b:"))
c=int(input("请输入边长c:"))

开始判断:

if (a>0 and b>0 and c>0 and a+b>c and a+c>b and b+c>a):
    pass
else:
    print("三条边:{0}、{1}和{2},不能构成三角形".format(a, b, c))

能组成三角形,则进行下一步,不能则直接输出else下列语句

第三步:用python语句代替数学公式

    h= (a + b + c) / 2                  #周长的一半
    area = math.sqrt(h * (h - a) * (h - b) * (h - c))  #面积
    perimeter = a + b + c                     #周长
    height_a = 2 * area / a      #边长a所对应的高
    height_b = 2 * area / b      # 边长b所对应的高
    height_c = 2 * area / c      # 边长c所对应的高
    print("三角形的三条边为:{0}、{1}和{2}".format(a, b, c))
    print("三角形的面积为:{0:.2f}".format(area))
    print("三角形的周长为:{0:.2f}".format(perimeter))
    print("边长A对应的高为:{0:.2f}".format(height_a))
    print("边长B对应的高为:{0:.2f}".format(height_b))
    print("边长C对应的高为:{0:.2f}".format(height_c))
    if a**2 + b**2 == c**2 or b**2 + c**2 == a**2 or a**2 + c**2 == b**2:
        print("该三角形为直角三角形")
    elif a**2 + b**2 < c**2 or b**2 + c**2 < a**2 or a**2 + c**2 < b**2:
        print("该三角形为钝角三角形")
    elif a**2 + b**2 > c**2 or b**2 + c**2 > a**2 or a**2 + c**2 > b**2:
        print("该三角形为锐角三角形")

第四步:总结

难点在于条件判断和数学公式的转化

完整代码:

import math
#三角形三边a、b、c,必须满足:三条边长均大于零,并且任意两边之和大于第三边
a=int(input("请输入边长a:"))
b=int(input("请输入边长b:"))
c=int(input("请输入边长c:"))
if (a>0 and b>0 and c>0 and a+b>c and a+c>b and b+c>a):
    h = (a + b + c) / 2                  #周长的一半
    area = math.sqrt(h * (h - a) * (h - b) * (h - c))  #面积
    perimeter = a + b + c                     #周长
    height_a = 2 * area / a      #边长a所对应的高
    height_b = 2 * area / b      # 边长b所对应的高
    height_c = 2 * area / c      # 边长c所对应的高
    print("三角形的三条边为:{0}、{1}和{2}".format(a, b, c))
    print("三角形的面积为:{0:.2f}".format(area))
    print("三角形的周长为:{0:.2f}".format(perimeter))
    print("边长A对应的高为:{0:.2f}".format(height_a))
    print("边长B对应的高为:{0:.2f}".format(height_b))
    print("边长C对应的高为:{0:.2f}".format(height_c))
    if a**2 + b**2 == c**2 or b**2 + c**2 == a**2 or a**2 + c**2 == b**2:
        print("该三角形为直角三角形")
    elif a**2 + b**2 < c**2 or b**2 + c**2 < a**2 or a**2 + c**2 < b**2:
        print("该三角形为钝角三角形")
    elif a**2 + b**2 > c**2 or b**2 + c**2 > a**2 or a**2 + c**2 > b**2:
        print("该三角形为锐角三角形")
else:
    print("三条边:{0}、{1}和{2},不能构成三角形".format(a, b, c))

    原文作者:吃饭用大盆
    原文地址: https://blog.csdn.net/qq_54259749/article/details/123730516
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞