Python基础 | if 语句
26 5 月, 2025Python基础 | 函数入门
26 5 月, 2025
小明的周三
- 给 10 个同学发「作业已交」的确认消息
- 晨跑时数圈数(操场 5 圈,每圈 400 米)
- 游戏里刷 100 次副本攒装备
循环的本质
让电脑自动重复做某事,把小明从「机械劳动」中解放出来。这是编程最爽的技能之一 —— 写 1 行代码,省 100 次操作!
同学名单 = ["小红", "小刚", "小丽", "小强"]
for 名字 in 同学名单: # 从名单里逐个拿名字
print(f"{名字},你今天的数学题解法超巧妙!")
print("特别是最后一步的辅助线,老师都点赞了!\n")
小明的小心机:
- 运行结果自动生成 4 条不同消息(新增同学时,只需改名单)
- 缩进的代码会重复执行(
for后面的代码块)
升级玩法:给 100 个同学发消息(把名单改成range(1, 101))
for 学号 in range(1, 101): # 生成1-100的数字
print(f"学号{学号}的同学,作业已收到!")
圈数 = 0
while 圈数 < 5: # 条件满足就继续跑
圈数 = 圈数 + 1
print(f"🏃 第{圈数}圈完成!累计2000米(当前400×{圈数})")
print("🎉 目标达成!明天挑战6圈~")
小明的报错现场:
- 忘记
圈数+1 → 无限循环(电脑疯狂输出,只能强制终止)
- 教训:
while必须有改变条件的代码,否则变「永动机」
进阶应用:边跑边喝水(用continue跳过某次)
圈数 = 0
while 圈数 < 5:
圈数 += 1
if 圈数 == 3: # 第3圈太累,喝水休息
print("🥤 中场休息,补充水分~")
continue # 跳过本次循环的后续代码
print(f"跑第{圈数}圈,还剩{5-圈数}圈!")
已刷次数 = 0
while 已刷次数 < 10:
已刷次数 += 1
掉落 = "雷神之锤" if 已刷次数 == 7 else "普通矿石"
print(f"第{已刷次数}次副本:掉落{掉落}")
if 掉落 == "雷神之锤":
print("🎉 欧气爆发!提前结束,去强化装备~")
break # 跳出循环
print(f"共刷{已刷次数}次,剩余体力:100-{已刷次数*10}")
第7次副本:掉落雷神之锤
🎉 欧气爆发!提前结束...
共刷7次,剩余体力:30
(小明:感谢break救我手酸!)
# 错误!条件永远True
while 1 == 1: # ❌ 快按Ctrl+C终止!
print("小明被困在循环里了...")
# 正确✅ 加终止条件
while 圈数 < 5:
圈数 += 1
# 错误!print在循环外面,只执行1次
for 名字 in 同学名单:
消息 = f"{名字},作业已交" # 正确缩进
print(消息) # ❌ 错误缩进,只打印最后1个同学
# 正确✅ 缩进对齐
for 名字 in 同学名单:
消息 = f"{名字},作业已交"
print(消息) # 正确缩进
# 想循环5次,结果跑6次!
for i in range(5): # 0-4,共5次 ✅
for i in range(1, 6): # 1-5,共5次 ✅
for i in range(5, 0): # ❌ 不会执行!range(start, end)需start < end
避坑口诀:for 遍历有边界,while 条件会改变,缩进对齐是关键
场景:检查 20 道选择题,统计正确率
正确答案 = ["A", "C", "B", "A", "D"] * 4 # 20题,重复4组
小明答案 = ["A", "C", "B", "A", "D"] * 3 + ["C", "C", "C"] # 故意错3题
正确数 = 0
for 题号 in range(20):
if 小明答案[题号] == 正确答案[题号]:
正确数 += 1
else:
print(f"⚠️ 第{题号+1}题错误!正确答案{正确答案[题号]}")
正确率 = 正确数 / 20 * 100
print(f"\n📝 正确率:{正确率:.1f}%(对{正确数}题,错{20-正确数}题)")
小明的错题本:
- 输出标出错误题号,自动统计,省去逐题核对的时间
- 升级:把答案存 Excel,用
pandas自动读取(下一篇教程预告!)
- 能用循环,绝不动手:重复 3 次以上的操作,就该考虑循环
- 先想结束条件:写 while 前先问「什么时候停下来?」
- 用 print 调试:循环中加
print(圈数),实时看执行过程(治好了小明的「玄学编程」)
for循环:遍历列表 / 数字(自动夸人、作业检查)
while循环:条件满足时重复(晨跑计数、游戏刷装)
break/continue:提前结束 / 跳过某次(欧气退游、中场休息)

避坑:无限循环、缩进错误、range 边界
挑战:帮小明写「单词听写器」!
条件:
- 循环 5 次,每次输入单词
- 如果连续 2 次正确,提前结束(用变量记录连续正确数)
(

提示:用
while+
if组合,定义
连续正确 = 0)
报错急救箱:
遇到IndentationError → 检查循环内代码是否对齐(用 4 个空格或 Tab)
遇到卡死 → 立即按Ctrl+C,检查while条件是否能改变
26 5 月, 2025
Published by cofo on 26 5 月, 2025 26 5 月, 2025
Published by cofo on 26 5 月, 2025 26 5 月, 2025
Published by cofo on 26 5 月, 2025