【Python 学习第 38 天】for 循环

【Python 学习第 38 天】for 循环

学习日期:2026-10-23

知识点:for 循环

难度:0.6

一、今日知识点

今天学习的是 for 循环。

for 循环用于遍历可迭代对象(如列表、字符串、range() 等)中的每个元素,并对每个元素执行一次循环体。语法为 for 变量 in 可迭代对象:,循环体需要缩进。range(n) 生成 0 到 n-1 的整数序列,常用于固定次数的循环。循环变量在每次迭代时自动更新,循环结束后变量保留最后一个值。示例:

python 复制代码
for i in range(3):
    print(i)  

## 二、详细解析

### 概念说明

`for` 循环是 Python 中最常用的循环结构,它的作用是"逐个取出"一个可迭代对象中的元素,每取出一个就执行一次循环体。你可以把它想象成流水线上的工人:传送带(可迭代对象)上依次送来零件(元素),工人(循环体)对每个零件做同样的处理。

它之所以重要,是因为很多任务本质上是"对一堆数据中的每一项做同样的事"------比如统计列表总和、遍历字符串的每个字符、重复执行固定次数的操作。`for` 循环让这类重复劳动变得简洁、可读,避免手写大量重复代码。

### 语法与用法

核心语法规则:

- 基本形式:`for 变量 in 可迭代对象:`,冒号不能省略。
- 循环体必须缩进(通常 4 个空格),缩进决定了哪些语句属于循环。
- 常见可迭代对象:列表、字符串、元组、字典、`range()` 等。
- `range(n)` 生成 `0` 到 `n-1` 的整数序列;`range(a, b)` 生成 `a` 到 `b-1`;`range(a, b, step)` 可指定步长。
- 循环变量在每次迭代时自动被赋值为当前元素,无需手动更新。
- 循环结束后,循环变量会保留最后一次的值(若循环体从未执行,则变量不存在)。

### 示例代码

示例一:遍历列表并累加

```python
numbers = [10, 20, 30]
total = 0
for n in numbers:      # 依次取出 10、20、30
    total += n         # 累加到 total
print(total)           # 输出 60

示例二:用 range 做固定次数循环,并遍历字符串

python 复制代码
# 打印 0 到 4
for i in range(5):
    print(i)

# 遍历字符串的每个字符
word = "Python"
for ch in word:
    print(ch)          # 依次输出 P y t h o n

# 带步长:输出 0 2 4
for i in range(0, 6, 2):
    print(i)

常见坑

  1. 忘记缩进或缩进不一致 :循环体没缩进会报 IndentationError;缩进层级写错,可能导致某些语句意外地在循环外只执行一次。
  2. 误以为 range(n) 包含 n :range(5) 是 0~4,不含 5。想包含 5 应写 range(1, 6)。
  3. 在循环中修改正在遍历的列表:边遍历边增删元素会导致跳过元素或行为难以预测,建议先复制一份再遍历,或改用其他方式。

小结

for 循环就是"对可迭代对象中的每个元素各执行一次循环体",掌握它、range() 的边界规则和缩进要求,就能处理绝大多数重复性任务。

三、今日练习

第 1 题 ✅

**题目:**以下代码的输出是什么?

python 复制代码
total = 0
for num in [1, 2, 3, 4]:
    total += num
print(total)
  • 我的答案:A

第 2 题 ❌

**题目:**填空:以下代码用于计算 1 到 5 的平方和,请补全缺失的代码。

python 复制代码
sum_sq = 0
for i in range(____):
    sum_sq += i * i
print(sum_sq)

请填写 range 括号内的内容(只填数字或表达式)。

  • 我的答案:1,6
  • 正确答案:6

第 3 题 ✅

**题目:**以下代码的输出是什么?

python 复制代码
x = 7
if x > 5:
    print("A")
elif x > 3:
    print("B")
else:
    print("C")
  • 我的答案:A

四、今日总结

  • 题目数量:3
  • 答对:2
  • 正确率:67%

本文由个人 Python 学习智能体自动生成

相关推荐
在世修行1 小时前
智学文枢:变式题生成引擎
python·ai·pyside·题目生成
On The Road :3 小时前
Java 多线程详解:从入门到线程安全
java·python·安全
岁月宁静3 小时前
如何设计支持 Skills 的 Agent?一套可扩展的四层架构
python·agent
岁月宁静3 小时前
CrewAI 快速上手:10 分钟搭建你的第一个 Agent 团队
python·agent
曲径海盗4 小时前
【Python 学习第 40 天】for 循环
python·学习笔记·编程入门
专注仿真4 小时前
知识问答大模型-rag算法详解
人工智能·python·控制算法
染指11105 小时前
158.Agent-LangGraph-子图(共享状态和不共享状态模式)
开发语言·人工智能·python·ui·agent·agents
云和数据.ChenGuang6 小时前
Python 常见特殊方法详解:__new__、__init__、__del__、__str__、__repr__ 与 __getattribute__
开发语言·人工智能·python·1024程序员节
xyouyuweizhu6 小时前
字节流与字符流:Java IO 的两条主线该怎么选
java·开发语言·python