【Python 学习第 41 天】for 循环

【Python 学习第 41 天】for 循环

学习日期:2026-10-28

知识点:for 循环

难度:0.82

一、今日知识点

今天学习的是 for 循环。

for 循环用于遍历可迭代对象(如列表、字符串、range 等)中的每个元素,依次执行循环体。基本语法:for 变量 in 可迭代对象: 循环体。循环变量在每次迭代时被赋值为当前元素。可以用 break 提前结束循环,用 continue 跳过本次迭代。例如:for i in range(3): print(i) 会输出 0、1、2。

二、详细解析

概念说明

for 循环是 Python 中最常用的循环结构,它的作用是把一个可迭代对象里的元素挨个取出来,每取一个就执行一次循环体 。你可以把它想象成"流水线":传送带(可迭代对象)上依次送来列表元素、字符串字符、range 生成的数字,机械臂(循环体)对每个送来的东西做同样的处理,直到传送带空了为止。

它有用的地方在于:当你需要对"一组数据"逐个处理时,不用手写下标、不用关心容器有多长,for 会自动帮你遍历完,代码简洁且不容易越界。

语法与用法

核心语法只有一行:

python 复制代码
for 变量 in 可迭代对象:
    循环体

关键规则:

  • 可迭代对象 :列表、元组、字符串、字典、range()、文件对象等都能用。
  • 循环变量:每次迭代自动被赋值为当前元素,循环结束后仍保留最后一次的值。
  • range(start, stop, step) :生成整数序列,含 start 不含 stop,step 可为负。
  • break:立即跳出整个循环。
  • continue:跳过本次剩余语句,直接进入下一次迭代。
  • for ... else :循环正常结束(未被 break 打断)时执行 else 块。

示例代码

示例 1:遍历列表并筛选

python 复制代码
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    if fruit == "banana":
        continue          # 跳过 banana,不打印
    print(fruit)          # 输出 apple、cherry

示例 2:带步长的 range 与 break

python 复制代码
# 从 1 开始,每次加 3,遇到大于 8 的数就停止
for i in range(1, 20, 3):
    if i > 8:
        break             # 提前结束循环
    print(i, end=" ")     # 输出 1 4 7

示例 3:累加求和

python 复制代码
total = 0
for i in range(1, 101):
    if i % 2 == 0:        # 只累加偶数
        total += i
print(total)              # 输出 2550

常见坑

  1. 误以为 range(a, b) 包含 b :range(1, 10) 只到 9。想要 1 到 100 必须写 range(1, 101),这是新手最常犯的"差一错误"。
  2. 在循环中修改正在遍历的列表 :边遍历边 remove 元素会导致跳过元素或结果错乱。正确做法是遍历副本(for x in lst[:])或新建列表。
  3. 混淆 break 和 continue :break 是"整个循环不干了",continue 只是"这一轮先跳过"。写反了逻辑会完全跑偏。

小结

for 循环就是"对可迭代对象中的每个元素做同样的事",掌握 range 的边界、break/continue 的区别,就能应付绝大多数遍历场景。

三、今日练习

第 1 题 ❌

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

for i in range(1, 10, 3):

if i % 2 == 0:

continue

print(i, end=' ')

  • 我的答案:C
  • 正确答案:A

第 2 题 ❌

**题目:**补全代码:使用 for 循环计算 1 到 100 中所有偶数的和,并打印结果。

total = 0

for i in range(1, 101):

if ______:

total += i

print(total)

  • 我的答案:i % 2 = 0
  • 正确答案:i % 2 == 0

四、今日总结

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

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

相关推荐
摇滚侠1 小时前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 11
java·笔记·python
沧海一笑-dj1 小时前
【Python】Python学习笔记-模块与包
python·pip·模块·包·python包·python模块·包与模块
echome8881 小时前
Python 异常处理:try、else、finally 的正确搭配
开发语言·前端·python·异常处理·编程技巧
云和数据.ChenGuang1 小时前
Python 单继承与多继承深度剖析:从 MRO 到实战取舍
开发语言·人工智能·python·langchain
威哥爱编程1 小时前
Python 智能体开发实战 02:你的 AI 助教说话像换了个模型?九成的 system prompt 都写错了
python·agent
威哥爱编程1 小时前
Python 智能体开发实战 01:装了三遍环境还在报错?虚拟环境和 DeepSeek 一次配到位
python·agent
小咕聊编程2 小时前
基于Python的豆瓣电影数据可视化系统构建分析
开发语言·python·信息可视化
小小张说故事3 小时前
Python 的 dict 为什么查询是 O(1)?拆开哈希表、扰动函数与扩容阈值
python
像风一样的男人@4 小时前
python --基于scp的文件传输助手
开发语言·python