Python while 循环 极简核心讲解

while 循环是 Python 中基础的条件循环 ,核心逻辑:只要条件为真,就重复执行循环体代码 ,适合不确定循环次数的场景,和适合固定次数的 for 循环形成互补。

1. 基本语法

python

运行

复制代码
while 条件表达式:
    循环体代码(缩进!)
    # 可选:修改条件的代码,避免死循环
  • 条件表达式:返回 True/False,成立则执行循环体
  • 缩进:Python 用缩进(4 个空格)标识循环体,必须有!
  • 死循环:条件永远为 True 会无限循环,需避免(除非主动控制退出)

2. 核心示例

示例 1:基础循环(固定次数,演示逻辑)

python

运行

复制代码
i = 0  # 初始化计数器
while i < 5:  # 条件:i小于5时执行
    print(f"当前i值:{i}")
    i += 1  # 计数器+1,修改条件,否则死循环

输出:

plaintext

复制代码
当前i值:0
当前i值:1
当前i值:2
当前i值:3
当前i值:4
示例 2:死循环 + 主动退出(break)

适合不确定循环次数,满足特定条件就退出的场景:

python

运行

复制代码
while True:  # 条件永远为True,死循环
    msg = input("输入任意内容(输入q退出):")
    if msg == "q":
        break  # 强制退出循环
    print(f"你输入了:{msg}")

3. 循环控制关键字(必学)

配合 while 循环使用,精准控制执行流程:

  1. break :直接退出整个循环,后续代码不再执行
  2. continue :跳过本次循环剩余代码,直接回到条件判断,进入下一次循环
  3. else (可选):循环正常结束(未被 break 中断)时,执行 else 代码块
控制关键字示例

python

运行

复制代码
i = 0
while i < 5:
    i += 1
    if i == 2:
        continue  # 跳过i=2,不执行后续print
    if i == 4:
        break     # 遇到i=4,直接退出循环
    print(f"执行:i={i}")
else:
    print("循环正常结束")  # 被break中断,此句不执行

输出:

plaintext

复制代码
执行:i=1
执行:i=3

4. 核心注意点

✅ 初始化循环变量 (如示例的 i=0)✅ 循环体内必须修改条件 (如 i +=1),否则会无限死循环✅ 缩进严格遵循 Python 规则,循环体代码必须缩进✅ 不确定循环次数用 while,固定次数优先用 for 循环

总结

  1. while 循环:条件为真就执行,适配未知循环次数场景;
  2. 三大核心控制:break(退出)、continue(跳过)、else(正常结束执行);
  3. 必做操作:初始化变量 + 循环内修改条件,避免死循环。
相关推荐
杨杨杨大侠5 小时前
都能接模型、RAG 和 MCP,Java Agent 框架到底差在哪?
java
破茧蝴蝶5 小时前
Python分布式爬虫完整教程
开发语言·python
benchmark_cc5 小时前
量化系统架构设计:为什么应该将数据获取与策略逻辑解耦?
python·数据分析·pandas·量化交易·股票数据·quantdash
凤山老林5 小时前
Spring Boot 启动冲刺:耗时剖析、懒加载策略与事件驱动初始化优化
spring boot·后端·python
小白快快跑哦5 小时前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算
Thinker QAQ6 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
hanlin036 小时前
刷题笔记:力扣第32题-最长有效括号
笔记·算法·leetcode
道满科技6 小时前
Function Calling 参数总出错?只修参数就行
linux·windows·python
All for pursuit.6 小时前
【动态规划-21】312.戳气球
数据结构·c++·算法·leetcode·动态规划
霸道流氓气质7 小时前
RAG 可观测性与生产监控实战:四层遥测模型、五大仪表盘与 OpenTelemetry 全链路追踪的 Java 生产级实现
java·人工智能·python