当前位置:首页>python>第6关:循环语句——让Python告别"重复劳动"

第6关:循环语句——让Python告别"重复劳动"

  • 2026-10-10 17:43:41
第6关:循环语句——让Python告别"重复劳动"

点击蓝字

关注我们

第6关:循环语句——让Python告别"重复劳动"

6.1 核心概念:循环是Python的"高效打工人"

家人们,有没有遇到过"需要重复做一件事"的场景?比如打印10遍"我爱Python"、计算1到100的和、遍历列表里的所有元素——如果手动写10遍打印代码、逐个计算加法,不仅累还容易错,这时候"循环语句"就该登场了!

循环语句堪称Python里的**"高效打工人"**,能让电脑自动重复执行一段代码,直到满足停止条件,不用你一遍遍手动操作。就像让机器人帮你叠衣服:设定好"叠完所有衣服就停止",机器人会自动重复"拿起衣服-折叠-放好"的动作,你只需要坐享其成。

6.1.1 两大循环类型对比

| 循环类型 | 适用场景 | 记忆口诀 |

|---------|---------|---------|

| `for`循环 | 知道要重复多少次,或遍历容器 | "按清单办事" |

| `while`循环 | 不知道次数,但知道停止条件 | "不达目的不罢休" |

⚠️ 新手避坑:循环不是"无限重复",必须有明确的"停止条件",否则会变成"死循环"(比如让电脑一直打印"Hello",停不下来,只能强制关闭程序)!

6.2 for循环:遍历容器的"精准执行者"

`for`循环就像"按清单做事"——先明确要处理的"清单"(比如列表、字符串、range对象),然后逐个处理清单里的每个元素,处理完所有元素就自动停止,逻辑清晰到不用费脑。

6.2.1 遍历容器:直接处理列表/字符串/字典

不用手动计数,直接遍历容器里的每个元素:

1. 遍历列表

```python

shopping_list = ["牛奶", "面包", "鸡蛋", "苹果"]

for item in shopping_list:

    print(f"需要买:{item}")

```

💡 代码逻辑:`item`是"临时变量",每次循环自动取列表里的一个元素,遍历完自动停止。

2. 遍历字符串

```python

word = "Python"

for char in word:

    print(char)

```

输出:"P""y""t""h""o""n",逐个字符处理。

3. 遍历字典

```python

student = {"name": "张三", "age": 25, "score": 95}

for key, value in student.items():

    print(f"{key}:{value}")

```

比手动取值高效10倍!

6.2.2 range()函数:循环的"次数控制器"

想让循环执行固定次数?用`range()`生成数字清单:

| 用法 | 示例 | 生成结果 | 循环次数 |

|-----|------|---------|---------|

| range(结束值) | `range(5)` | [0,1,2,3,4] | 5次 |

| range(起始,结束) | `range(1,6)` | [1,2,3,4,5] | 5次 |

| range(起,终,步长) | `range(1,10,2)` | [1,3,5,7,9] | 5次 |

实战示例1:打印5遍"我爱Python"

```python

for i in range(5):

    print("我爱Python")

```

实战示例2:计算1到10的和

```python

total = 0

for i in range(1, 11):

    total += i  # 相当于total = total + i

print(f"1到10的和是:{total}")  # 输出55

```

实战示例3:打印1到10的奇数

```python

for i in range(1, 11, 2):

    print(i)  # 输出1、3、5、7、9

```

⚠️ **新手踩坑点**:

- `range(5)`不会包含5(开区间)

- 步长不能为0,否则会报`ValueError`(相当于让循环"原地踏步")

6.3 while循环:满足条件就"一直干"

`while`循环就像"不达目的不罢休"的执着选手——只要满足设定的"条件",就一直重复执行代码,直到条件不成立才停止。

6.3.1 基础用法:条件满足就循环

```python

count = 1

while count <= 5:

    print(f"加油!第{count}次")

    count += 1  # 必须更新条件变量!

```

输出5次"加油!"后停止。

🔥 新手必踩坑:忘记更新条件变量!少了`count +=1`,条件永远满足,变成**死循环**,只能强制关闭程序!

记住:`while`循环必须有"让条件最终不成立"的代码,否则会"累死"电脑!

6.3.2 应用场景:处理"不确定次数"的任务

案例:密码验证(直到输入正确为止)

```python

correct_password = "123456"

password = input("请输入密码:")

while password != correct_password:

    print("密码错误,请重新输入!")

    password = input("请输入密码:")

print("密码正确,欢迎登录!")

```

输错3次或10次都没关系,直到输入正确才停止,比`for`循环更灵活。

6.4 循环进阶:break、continue与嵌套循环

6.4.1 break:强制"提前下班"

找到目标就终止循环,不再继续遍历。

示例:找到"鸡蛋"就停止

```python

shopping_list = ["牛奶", "面包", "鸡蛋", "苹果"]

for item in shopping_list:

    if item == "鸡蛋":

        print(f"找到目标:{item}")

        break  # 直接终止,后面的"苹果"不再遍历

    print(f"正在查找:{item}")

```

输出:

```

正在查找:牛奶

正在查找:面包

找到目标:鸡蛋

```

6.4.2 continue:跳过当前,"下一轮见"

跳过当前循环的剩余代码,直接开始下一轮。

示例:打印1到10的偶数,跳过奇数

```python

for i in range(1, 11):

    if i % 2 == 1:  # 如果是奇数

        continue    # 跳过打印,直接下一轮

    print(f"偶数:{i}")

```

💡 **break vs continue 对比**

- `break` = 终止整个循环(提前下班)

- `continue` = 跳过当前轮次(跳过这个任务)

6.4.3 嵌套循环:循环里套循环

经典案例:打印九九乘法表

```python

for i in range(1, 10):        # 外层:控制行数(1到9行)

    for j in range(1, i+1):   # 内层:控制每行列数

        print(f"{j}×{i}={i*j}", end="\t")

    print()  # 换行

```

⚠️ 新手踩坑点:缩进要区分!外层缩进4个空格,内层缩进8个空格,否则会报`IndentationError`。

6.5 循环避坑指南

| 坑点 | 后果 | 解决方案 |

|-----|------|---------|

| 死循环 | 程序卡死,需强制关闭 | 确保条件最终会不成立 |

| 缩进混乱 | `IndentationError` | 统一用2或4个空格,不能混用 |

| 嵌套太深 | 代码难懂,效率低 | 超过3层就拆分 |

| 滥用break/continue | 逻辑混乱 | 确实需要再用 |

6.6 本章小结

| 知识点 | 核心记忆点 | 适用场景 |

|-------|-----------|---------|

| for循环 | 遍历容器,自动停止 | 按清单办事、已知次数 |

| while循环 | 条件满足就一直干 | 未知次数、条件驱动 |

| range() | 生成数字序列控制次数 | 固定次数循环 |

| break | 强制终止整个循环 | 找到目标提前结束 |

| continue | 跳过当前轮次 | 过滤某些情况 |

| 嵌套循环 | 外层+内层组合 | 二维数据处理、表格打印 |

闯关成功! 现在你已经掌握了让Python"自动重复干活"的核心技能,下一关我们将解锁"函数"——学会把代码打包成"工具箱",随用随取!

扫码关注我们

知识奇妙世界

最新文章

随机文章