深色模式
第 5 章:循环结构
本章能学到什么
for循环和range()的用法while循环break和continue- 简单的嵌套循环
循环结构:让程序重复做事
让 LED 闪烁 100 次,难道要写 100 遍"亮、灭"?当然不用——用循环结构。
for 循环:数着次数重复
python
for i in range(5):
print(f"第 {i} 次闪烁")range(5) 依次产生 0, 1, 2, 3, 4(从 0 开始,不包含 5),每产生一个数,循环体就执行一次。
range 的三种写法:
python
range(5) # 0,1,2,3,4
range(1, 6) # 1,2,3,4,5(起点, 终点+1)
range(0, 10, 2) # 0,2,4,6,8(起点, 终点, 步长)while 循环:条件不满足就重复
python
count = 0
while count < 3:
print("测量一次距离")
count += 1 # 千万别忘了这行!while 每次先检查条件,成立就执行循环体,再回到开头重新检查。
在 Pico 上会经常看到:
python
while True:
# 永远循环:一直检测传感器单片机程序通常永远不结束——就像第一册 Mind+ 里的"循环执行"积木。
break 和 continue
python
for i in range(10):
if i == 3:
continue # 跳过本次,直接进下一轮
if i == 7:
break # 立刻结束整个循环
print(i)
# 输出:0 1 2 4 5 6continue:这一轮不干了,下一轮继续break:整个循环不干了,直接跳出
嵌套循环
循环里面还能套循环:
python
for row in range(3):
for col in range(4):
print(f"({row},{col})", end=" ")
print() # 换行输出一个 3 行 4 列的坐标表。嵌套不要超过两三层,否则读起来会很晕。
常见坑
while循环里忘记更新条件变量 → 死循环,程序卡死(电脑上按 Ctrl+C 终止)range(5)不包含 5,想数到 5 要写range(1, 6)- 循环体忘了缩进,或者缩进错了层级
想一想
下面两段代码有什么区别?分别输出几次?
python
# 代码 A
for i in range(3):
print("亮")
# 代码 B
i = 0
while i < 3:
print("亮")💡 查看答案
- 代码 A:用
for循环,打印 3 次"亮",然后正常结束 - 代码 B:是死循环,会无限打印"亮"停不下来——因为循环体里忘了写
i += 1,i永远是 0,条件i < 3永远成立
这就是本章"常见坑"里说的:用 while 千万别忘记更新条件变量。
