如何用python判断三角形类型

如何用python判断三角形类型

作者:William Gu发布时间:2026-01-14阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何利用Python代码判断一个三角形的类型?

我想用Python编写程序,输入三边长度后判断三角形是等边、等腰还是不等边,该怎么实现?

A

用Python判断三角形类型的方法

可以通过比较三边的长度关系判断三角形类型。如果三条边都相等,则是等边三角形;如果两条边相等,则是等腰三角形;如果三条边都不相等,则是不等边三角形。代码示例:

# 输入三边长度
 a, b, c = 3, 4, 5

# 先判断是否可以组成三角形
 if (a + b > c) and (a + c > b) and (b + c > a):
     if a == b == c:
         print('等边三角形')
     elif a == b or b == c or a == c:
         print('等腰三角形')
     else:
         print('不等边三角形')
 else:
     print('不能构成三角形')
Q
如何判断三角形是否有效才能进一步确定类型?

在对三边长度进行类型判断前,怎样确认输入的边长能否组成三角形?

A

验证三角形存在条件

三角形的三个边长必须满足三角形不等式。具体来说,任意两边之和必须大于第三边。只有满足以下全部条件,才能构成三角形:

  • a + b > c
  • a + c > b
  • b + c > a

如果条件不满足,不能构成三角形,自然也无法判定类型。

Q
判断三角形是锐角、直角还是钝角的Python方法有什么?

除了判断三角形的边长类型,怎样用Python判断三角形的角度类型?

A

用边长计算角度类型

通过利用余弦定理,可以判断三角形的角度类型。先确定最长边,将其平方与另外两边平方和比较:

  • 若 longest_side² = side1² + side2²,则为直角三角形
  • 若 longest_side² < side1² + side2²,则为锐角三角形
  • 若 longest_side² > side1² + side2²,则为钝角三角形

Python示例代码:

sides = sorted([a, b, c])
if sides[2]2 == sides[0]2 + sides[1]2:
    print('直角三角形')
elif sides[2]2 < sides[0]2 + sides[1]2:
    print('锐角三角形')
else:
    print('钝角三角形')