一、为什么需要学习循环?
想象每天要手动输入100条订单数据——这就是程序员用循环解决的典型痛点。循环结构能:
✅ 自动重复执行代码
✅ 处理批量数据(如Excel表格)
✅ 实现智能判断(如密码验证)
Python提供两种循环工具:按次数执行的for循环和条件触发的while循环
二、for循环——遍历大师
核心语法:
python
for item in iterable: # 执行代码块
iterable可以是字符串/列表/元组/字典/集合,最常用的是range序列生成器
案例1:打印节日祝福
python
festivals = ["春节", "清明节", "端午节"] for name in festivals: print(f"祝大家{name}快乐!")
案例2:range进阶用法
python
# 生成1-10奇数 for num in range(1, 11, 2): print(num)
🔥 经典陷阱:当遍历可变对象时,不要在循环中修改原列表!
三、while循环——条件指挥官
基本模式:
python
while condition: # 执行代码块
典型场景:需要持续输入直到正确密码、累加计算直到满足条件
案例3:ATM取款模拟
python
balance = 5000 while balance > 0: amount = int(input("请输入取款金额:")) if amount <= balance and amount >= 100: balance -= amount print(f"成功取出{amount}元,剩余余额{balance}") else: print("取款失败,请重新输入")
⚠️ 警惕死循环:永远记得在条件中改变变量!
四、循环嵌套——代码排列组合
案例4:打印金字塔图案
python
height = 5 for i in range(height): spaces = " " * (height - i - 1) stars = "*" * (i + 1) print(spaces + stars)
输出结果:
* *** ***** ******* *********
🛠️ 优化技巧:使用局部变量代替重复计算,提升执行效率
五、实战项目:自动整理文件
需求:批量重命名指定文件夹内的.jpg图片
python
import os folder = "照片" for filename in os.listdir(folder): if filename.endswith(".jpg"): new_name = f"{int(filename.split('.')[0]) + 100}.jpg" os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))
六、常见错误代码对照表
错误类型 | 示例代码 | 解决方案 |
缩进错误 | for i in range(3):print(i) | 统一使用4个空格缩进 |
索引越界 | list[5] | 添加if条件判断或切片处理 |
死循环 | while True: pass | 在循环体内修改控制变量 |
七、课后挑战任务
-
基础题:用for循环输出乘法口诀表
-
进阶级:编写猜数字游戏(1-100之间)
-
创意题:自动生成ASCII艺术图案
读者福利:关注公众号回复【循环】获取:
✅ 10个循环结构练习题及答案
✅ Python循环结构思维导图
✅ 50个自动化办公Python脚本模板
互动环节:你在工作中遇到过哪些需要循环解决的场景?欢迎在评论区分享!点赞前3名将获得定制版Python学习笔记~