当前位置:首页>python>Python入门练习题:手把手搞定三角形判断

Python入门练习题:手把手搞定三角形判断

  • 2026-09-23 21:55:24
Python入门练习题:手把手搞定三角形判断

三角形判断是Python入门最经典的逻辑练习题,几乎每个初学者都会练到。看似简单,但很多人写代码都会出错,要么分类混乱,要么判断条件写错。

今天我用纯新手的理解方式,讲清楚等边、等腰、直角、普通锐/钝角三角形的判断原理,搭配完整可运行代码,逻辑通俗易懂,零基础也能看懂。

一、先搞懂基础前提

不管判断哪种三角形,都要先满足两个基础条件,不满足就直接构不成三角形:

1. 三条边长必须全部大于0,负数和0都不能做边长;

2. 任意两边之和大于第三边。

这里提醒大家一个重点:判断顺序很重要,必须先特殊、后普通,不然很容易出现判断重叠、结果出错的问题。

二、四种三角形判断原理

1. 等边三角形

判定条件最简单:三条边长度完全相等,代码直接用 a == b == c 判断。

等边三角形是最特殊的三角形,所以要放在第一个判断。只要判定是等边,就不用再判断其他类型。

2. 等腰三角形(排除等边)

判定条件:任意两条边相等,且不是等边三角形。

这是新手最容易踩的坑!如果先判断等腰,等边三角形会被误判成等腰。所以必须放在等边之后判断,只判定“只有两条边相等”的三角形。

3. 直角三角形

判定条件:满足勾股定理 $$a^2+b^2=c^2$$,注意c必须是最长边(斜边)。

我们写代码时,先把三条边从小到大排序,固定最长边。同时因为输入小数会有计算精度误差,不用绝对等于,用极小值容错,结果更准确。

4. 普通锐角/钝角三角形

排除上面三种特殊情况,剩下三边都不相等的就是普通三角形。

依旧以最长边为依据:两条短边的平方和大于最长边平方,是锐角三角形;小于最长边平方,就是钝角三角形。

三、完整可运行代码

这段代码是纯入门写法,逻辑清晰、没有复杂语法,适合新手练习和作业使用:

代码

# 输入三条边长
a = float(input("请输入第一条边长:"))
b = float(input("请输入第二条边长:"))
c = float(input("请输入第三条边长:"))

# 判断边长是否合法
if a <= 0 or b <= 0 or c <= 0:
    print("边长不合法,无法构成三角形")

# 判断是否可以构成三角形
elif not (a + b > c and a + c > b and b + c > a):
    print("无法构成三角形")
else:
    print("可以构成三角形")
    # 对三边排序,方便后续判断
    min_side, mid_side, max_side = sorted([a, b, c])

    # 按优先级判断三角形类型
    if a == b == c:
        print("该三角形为:等边三角形")
    elif a == b or a == c or b == c:
        print("该三角形为:等腰三角形")
    elif abs(min_side**2 + mid_side**2 - max_side**2) < 1e-6:
        print("该三角形为:直角三角形")
    elif min_side**2 + mid_side**2 > max_side**2:
        print("该三角形为:普通锐角三角形")
    else:
        print("该三角形为:普通钝角三角形")

四、新手总结 + 小拓展

其实三角形判断这道题,根本没有复杂语法,核心就是捋清判断顺序、避开逻辑坑点。只要记住:先校验合法性,再从最特殊的等边、等腰,到直角、普通三角形依次判断,基本不会出错。

很多新手写完基础代码就以为学懂了,但其实这道题还有很多进阶玩法!比如防止输入文字报错、循环多次判断、精简代码写法,都是考试和练习的加分亮点。

想要进阶优化版代码、或者更多Python入门经典练习题?可以留言告诉我,后续持续更新新手友好的编程干货!

最新文章

随机文章