如何用python判断三角形

如何用python判断三角形

作者:Elara发布时间:2026-01-14阅读时长:0 分钟阅读次数:5

用户关注问题

Q
如何判断三条边能否组成三角形?

给定三条边的长度,怎样使用Python代码判断它们是否能构成一个有效的三角形?

A

利用三角形不等式判断三边是否构成三角形

可以用三角形不等式来判断三条边a、b、c是否能构成三角形:每一条边都必须小于另外两边之和,即 a < b + c,b < a + c,c < a + b。用Python可以编写如下代码:

 def is_triangle(a, b, c):
     return a < b + c and b < a + c and c < a + b

当函数返回True时,这三条边可以组成三角形。

Q
如何用Python判断三角形的类型?

在确认三条边可以组成三角形的基础上,怎样区分这个三角形是等边、等腰还是不等边?

A

根据边长关系判断三角形类型

判断三角形类型可以比较三条边的长度:

  • 等边三角形:三条边相等(a == b == c)。
  • 等腰三角形:恰好有两条边相等(a == b 或 b == c 或 a == c)。
  • 不等边三角形:三条边都不相等。
    相应的Python代码示例如下:
def triangle_type(a, b, c):
    if not is_triangle(a, b, c):
        return "不是三角形"
    if a == b == c:
        return "等边三角形"
    elif a == b or b == c or a == c:
        return "等腰三角形"
    else:
        return "不等边三角形"

这段代码先调用上面的is_triangle函数确认是否为三角形。

Q
如何用Python判断三角形是否为直角三角形?

已知三角形的三边长,怎样判断它是否是直角三角形?

A

利用勾股定理判断直角三角形

判断直角三角形可应用勾股定理:直角三角形的两条直角边的平方和等于斜边的平方。先将三边排序,然后判断满足 a² + b² == c²。Python代码示例如下:

def is_right_triangle(a, b, c):
    sides = sorted([a, b, c])
    return abs(sides[0]2 + sides[1]2 - sides[2]**2) < 1e-9

这里abs和一个很小的误差避免了浮点数计算误差带来的影响。