在编程的世界里分支和循环是两大核心支柱——分支让代码拥有判断力循环让代码具备重复执行的超能力。今天我们就从我的手搓教程代码里挑出最经典的片段带你彻底吃透 Python 的if、for、range、break、continue以及那些容易被忽略的细节。一、分支结构if / elif / else分支结构就像人生的岔路口根据条件选择不同的路径。1.最简单的双分支比较大小# 获取用户输入的第一个数字字符串 → 浮点数 input_str1 input(请输入第一个数字) value1 float(input_str1) # 获取用户输入的第二个数字 input_str2 input(请输入第二个数字) value2 float(input_str2) # 判断 value1 是否大于 value2 if value1 value2: print(第一个数大) # 条件成立时执行 else: print(第二个数大或相等) # 条件不成立时执行2.多分支成绩等级评定0~100# 输入成绩字符串转为整数 input_score_str input(输入一个成绩:) score_value int(input_score_str) # 先判断成绩是否合法0~100 之外不合法 if score_value 0 or score_value 100: print(成绩不合法) else: # 合法成绩再分等级 if score_value 90: print(优秀) elif score_value 70: # 70 ≤ score 90 print(良好) elif score_value 60: # 60 ≤ score 70 print(及格) else: # score 60 print(渣渣)3.分支嵌套 用户交互年龄验证 二次确认# 输入年龄 age int(input(请输入你的年龄:)) # 根据年龄分三种情况 if age 18: print(可以查看) # 成年直接放行 elif 18 age 10: # 10 age 18 print(是否继续查看) # 嵌套分支让用户输入 Yes 或 No tishi str(input(请输入Yes或No)) if tishi Yes or tishi Y or tishi y or tishi yes: print(请查看) # 用户同意 elif tishi No or tishi N or tishi n or tishi no: print(退出放弃查看) # 用户拒绝 else: # age ≤ 10 print(不允许查看)二、循环结构for 循环Python 中最常用的循环是for它擅长遍历任何可迭代对象列表、字符串、range序列等。1.基础遍历逐个打印列表中的元素# 定义一个列表依次将元素赋值给变量 i for i in [1, 2, 3, 4, 5]: print(i) # 打印当前元素2. 配合range()生成整数序列range(start, stop, step)是 Python 内置的整数生成器左闭右开包含start不包含stop。# 查看 range 到底生成了什么转为列表便于观察 r range(5) # 0,1,2,3,4 datas list(r) # 转换为列表 print(datas) # [0, 1, 2, 3, 4] r2 range(1, 5) # 1,2,3,4 datas2 list(r2) print(datas2) # [1, 2, 3, 4] r3 range(1, 9, 2) # 1,3,5,7 步长为2 datas3 list(r3) print(datas3) # [1, 3, 5, 7] r4 range(16, 0, -3) # 16,13,10,7,4,1 步长为-3倒序 datas4 list(r4) print(datas4) # [16, 13, 10, 7, 4, 1]# 遍历 range 生成的数字并打印 for a in range(1, 16, 2): # 1,3,5,7,9,11,13,15 print(a)3.经典应用计算 1~100 的和total 0 # 累加器初始为 0 for b in range(1, 101): # 遍历 1 到 100 total total b # 每次累加当前数 print(total) # 输出 50504.水仙花数100~1000 之间的三位数total 0 # 遍历所有三位数100 到 999但 range(100,1001) 包含 1000不过 1000 不是三位数但立方和不会等于自身所以不影响 for x in range(100, 1001): # 拆解百位、十位、个位 bai x // 100 % 10 shi x // 10 % 10 ge x % 10 # 计算各位立方和 shuixianhua bai ** 3 shi ** 3 ge ** 3 # 判断是否为水仙花数 if x shuixianhua: total total x # 累加符合条件的数 print(f水仙花数有{shuixianhua}) print(f水仙花数的和是{total})三、循环控制利器break、continue 和 for...else1.break立即终止整个循环# 循环 0~9但 break 在第一次就触发了 for i in range(10): break # 执行到这里循环立刻结束后面的 print 不会执行 print(i) # 这行代码永远不会运行2.continue跳过本次循环直接进入下一次# 遍历 0~19 for i in range(20): if i 3: continue # 当 i3 时跳过下面的 print直接进入 i4 print(i) # 输出除了 3 以外的 0~19 所有整数3.for...else循环没有被break中断时才执行else# 遍历 0~14 for i in range(15): print(i) # 打印当前 i if i 12: break # 当 i12 时 break循环提前结束 else: print(the end) # 因为 break 了所以 else 不会执行 # 如果将 break 条件改为 i 20永远不会成立则 else 会执行应用场景常用于在循环中查找某个元素如果找到了就break没找到则执行else里的“未找到”处理逻辑。四、嵌套循环循环里面套循环外层循环每变化一次内层循环都会完整执行一轮。# 三层嵌套展示所有组合 for i in range(1, 3): # i 1, 2 for j in range(1, 3): # j 1, 2对每个 i 都会完整遍历 for k in range(1, 3): # k 1, 2对每个 j 都会完整遍历 print(fi:{i} j:{j} k:{k})实战打印 9×9 乘法表上三角# 外层循环控制行1~9 for i in range(1, 10): # 内层循环控制列1~9 for j in range(1, 10): # 只打印 j i 的部分上三角 if j i: # end\t 让输出不换行用制表符分隔 print(f{i}*{j}{i*j}, end\t) # 每行结束后换行 print()输出效果五、额外彩蛋随机模块与列表来自我的其他笔记虽然不属于分支循环但既然你看到了这里顺便分享两个实用小技巧1.随机选一个元素import random # 导入随机模块 # 从元组中随机选择一个元素 print(random.choice([老咪, 小咪, 黑子, 牢大, 牢弟儿]))2.随机采样不重复抽取 k 个# 从一周七天中随机选 4 天不重复 print(random.sample((周一, 周二, 周三, 周四, 周五, 周六, 周日), k4))总结结构关键字作用分支ifelifelse根据条件执行不同代码块循环forin遍历序列或 range范围生成range(start, stop, step)生成整数序列左闭右开提前终止break立即结束整个循环跳过本次continue跳过本次循环剩余代码继续下一次循环正常结束else与for搭配循环没有被break中断时执行以上所有代码均来自我日常练习的.py文件全部亲手敲过并添加了详细注释确保可运行。如果你也想成为 Python 循环与分支的掌控者多写多练就是最快的捷径下次见