Python 循环:for/while 循环、break/continue
一、前言
前面我们掌握了顺序执行代码、if条件分支语句,能够让程序根据条件选择性执行代码。但在实际开发中,经常需要重复执行某一段代码,比如批量打印数据、重复校验信息、遍历内容等。单纯依靠顺序和分支代码无法实现重复操作,本章我们学习Python循环语法,掌握for、while两大循环结构,以及break、continue循环控制关键字,实现代码批量重复执行,是Python自动化、批量处理数据的核心基础。
二、while 基础循环(条件循环)
while循环属于条件循环,只要条件结果为True,就会持续执行内部代码块,直到条件为False时停止循环,适合未知循环次数的场景。
语法规则
循环条件成立(结果为 True),持续执行内部缩进代码;条件为 False,直接跳出循环。
# 基础while循环语法
while 条件表达式:
# 循环体代码(必须缩进)
重复执行的代码基础示例:打印1-5数字
num = 1
# 当num小于等于5时,持续循环
while num <= 5:
print(f"当前数字:{num}")
# 每次循环让数字+1,避免死循环
num += 1核心要点
条件后必须加冒号 :,否则报语法错误
循环体代码必须缩进4个空格,无缩进或缩进不统一会报错
必须设置循环终止条件(变量自增/自减),否则会出现死循环
条件结果只能是 True / False
三、for 基础循环(遍历循环)
for循环属于遍历循环,主要用于遍历序列数据(字符串、列表、数字区间等),按顺序逐个读取元素并执行循环体,适合已知循环次数的场景,是开发中使用频率最高的循环。
语法规则
# for循环基础语法
for 变量 in 可遍历对象:
# 循环体代码(必须缩进)
重复执行的代码常用场景1:配合range()遍历数字区间
range(起始值, 结束值, 步长),默认起始值为0、步长为1,遍历范围左闭右开(不包含结束值)。
# 打印1-5数字
for i in range(1, 6):
print(f"遍历数字:{i}")常用场景2:遍历字符串
# 逐个打印字符串中的字符
text = "Python循环"
for char in text:
print(f"单个字符:{char}")核心要点
in 后必须是可遍历对象(数字序列、字符串、列表等)
同样遵循冒号、缩进语法规则,缺一不可
循环变量会自动依次赋值,无需手动增减
四、循环控制:break 终止循环
break 作用:直接跳出当前整个循环,终止所有循环操作,后续循环不再执行,适用于满足指定条件后立刻停止循环的场景。
示例:找到指定数字后终止循环
# 遍历1-10,遇到5立刻停止循环
for i in range(1, 11):
if i == 5:
# 终止整个循环
break
print(f"正常遍历:{i}")运行结果:只会打印1-4,匹配到5后直接结束循环,后续6-10不再遍历。
五、循环控制:continue 跳过本次循环
continue 作用:跳过当前这一次循环,直接进入下一次循环,不会终止整体循环,后续循环照常执行。
示例:跳过数字5,继续循环
# 遍历1-10,跳过数字5
for i in range(1, 11):
if i == 5:
# 跳过本次循环,直接进入下一次
continue
print(f"正常遍历:{i}")运行结果:打印1-4、6-10,唯独跳过数字5,循环不会终止。
六、循环嵌套(循环里套循环)
支持for、while循环互相嵌套,适用于多层重复操作场景(如打印九九乘法表、批量二维数据处理),核心是严格区分缩进层级,外层循环执行一次,内层循环执行完整一轮。
基础嵌套示例
# 外层循环控制行数
for i in range(1, 4):
print(f"第{i}轮外层循环")
# 内层循环控制单次内层操作
for j in range(1, 3):
print(f" 内层循环:{j}")七、综合实战:简易密码重试程序
整合while循环、break、if条件判断,实现密码错误可重试,输入正确则退出循环的功能。
# 简易密码重试系统,最多重试3次
count = 0
while count < 3:
pwd = input("请输入密码:")
# 正确密码:123456
if pwd == "123456":
print("密码正确,登录成功!")
# 密码正确,终止循环
break
else:
count += 1
print(f"密码错误,还剩余{3-count}次机会")
# 3次全部输错,锁定登录
if count == 3:
print("错误次数过多,登录已锁定")八、新手常见报错与问题
循环条件末尾忘记加冒号,直接报语法错误
循环体代码未缩进、缩进混乱,代码层级报错
while循环未设置变量更新,导致死循环程序卡死
混淆break和continue:break终止全程循环,continue仅跳过单次循环
for循环遍历非可迭代对象,触发类型报错
循环嵌套时缩进层级错误,导致循环逻辑混乱
九、下期预告
下一篇:Python 列表、元组、字典、集合四大容器全解,学会批量存储多条数据,搭配循环实现海量数据批量处理。