【Python 学习第 39 天】for 循环

【Python 学习第 39 天】for 循环

学习日期:2026-10-26

知识点:for 循环

难度:0.65

一、今日知识点

今天学习的是 for 循环。

for 循环用来遍历一个可迭代对象(如列表、字符串、range 生成的数字序列),每取出一个元素就执行一次循环体。它比 while 更适合"已知要遍历的内容"的场景,不需要手动维护计数器。range(start, stop, step) 生成从 start 到 stop(不含 stop)、步长为 step 的整数序列,step 可为负数实现倒序。循环体中可以用 break 提前结束,用 conti

二、详细解析

概念说明

for 循环是 Python 中最常用的循环结构,专门用来"遍历"一个可迭代对象------列表、字符串、range() 生成的数字序列、字典、集合等都可以。它的工作方式很直观:从可迭代对象里依次取出每一个元素,每取出一个就执行一次循环体,取完了循环自然结束。

为什么它有用?因为很多场景下我们事先就知道"要对哪些东西逐个处理",比如遍历一个名单、处理一串字符、重复执行固定次数。这时候用 for 比 while 更省心:不需要手动初始化计数器、不需要在循环体里自增、也不用担心忘记更新条件导致死循环。把"遍历"这件事交给 Python 自己管,代码更短也更不容易出错。

语法与用法

核心语法:

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

几条关键规则:

  • range(start, stop, step) :生成从 start 开始、到 stop 之前(不含 stop)、步长为 step 的整数序列。step 可以为负数,实现倒序;省略 start 时默认从 0 开始,省略 step 时默认步长为 1。
  • break:立即跳出整个循环,不再执行后续迭代。
  • continue:跳过本次循环剩下的语句,直接进入下一次迭代。
  • for ... else :循环正常结束(没有被 break 打断)时会执行 else 块,初学阶段了解即可。
  • 循环变量在循环结束后仍然存在,保存的是最后一个取到的值。

示例代码

示例 1:累加奇数

python 复制代码
total = 0
for i in range(1, 10, 2):   # 依次取 1, 3, 5, 7, 9
    total += i
print(total)                # 输出 25

示例 2:倒序输出并配合条件判断

python 复制代码
for i in range(5, 0, -1):   # 5, 4, 3, 2, 1
    if i == 3:
        continue            # 跳过 3,不打印
    print(i)
# 输出:5 4 2 1(各占一行)

for ch in "abc":            # 字符串同样可遍历
    print(ch.upper())
# 输出 A B C

常见坑

  1. range 的右端点取不到 。range(1, 5) 只产生 1、2、3、4,不含 5。想输出 1 到 5 要写 range(1, 6),这是初学者最容易数错的地方。
  2. 倒序时忘记负步长 。想从 5 数到 1,写成 range(5, 0) 会得到空序列,必须写 range(5, 0, -1)。
  3. 在循环中修改正在遍历的列表 。边遍历边 append 或 remove 会导致跳过元素甚至行为异常,安全做法是遍历副本(如 for x in lst[:])或先收集要改的内容再统一处理。

小结

for 循环就是"对可迭代对象里的每个元素做一遍同样的事",掌握 range 的三个参数和 break/continue 就够应付绝大多数场景了。

三、今日练习

第 1 题 ✅

**题目:**执行以下代码后,输出结果是什么?

total = 0

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

total += i

print(total)

  • 我的答案:A

第 2 题 ❌

**题目:**补全代码,使其输出 5 4 3 2 1(每个数字单独一行):

for i in range(____):

print(i)

  • 我的答案:1,5,-1
  • 正确答案:5, 0, -1

四、今日总结

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

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

相关推荐
万联WANFLOW2 小时前
Kimi K3.1 Pro 接口接入指南:模型选型、费用计算与零数据保留
java·spring boot·python·安全·spring·大模型
问心无愧05132 小时前
[护网杯 2018]easy_tornado
python·tornado
全栈弄潮儿2 小时前
Python实战第13期:模块与包
后端·python·编程语言
2401_885885043 小时前
芬兰语音通知接口怎样对接?语音提醒接入流程
android·前端·python·php·语音识别
Dev _3 小时前
Python解释器安装在系统级目录导致命令行用户‌没有权限‌向该目录写入文件
开发语言·python
Dev _4 小时前
PyCharm旧进程仍在后台运行,导致新实例无法启动或连接
ide·python·pycharm
quantdash_cc5 小时前
如何检查滚动收益率计算中的窗口长度不足?——从数学定义到 Pandas 实现
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
砚底藏山河5 小时前
python量化:实时行情WebSocket断线重连状态机
java·python·websocket·金融
CodeGL5 小时前
16、Python Web开发
开发语言·前端·python