Python零基础入门|第6天 while条件循环

本篇是零基础Python自学系列第6天笔记,适合纯小白入门,内容包含实操代码、详细讲解与配套练习题。

一、昨日内容复盘(Day5 for循环全套核心)

  1. for循环核心定位:已知循环次数时使用,专门用来遍历有序可迭代序列

    • 可遍历序列:字符串、列表、range()生成的数字区间;

    • 临时变量:每一轮循环自动接收序列内一个元素,变量名自定义;

  2. range()三种标准用法,统一遵循左闭右开规则:

    • range(结束值):默认从0开始,不含结束数字;

    • range(起始,结束):包含起始、不包含结束;

    • range(起始,结束,步长):按固定间隔生成数字,用来批量取奇数/偶数;

  3. 循环控制关键字(for/while通用)

    • break:直接彻底终止全部循环,剩余轮次不再执行;

    • continue:仅跳过当前本轮循环剩余代码,直接开启下一轮循环;

  4. for循环自动管理计数,无需手动修改变量,不会轻易出现死循环。

二、今日学习目标

  1. 理解while循环定位:未知循环次数、依靠条件真假控制循环启停,和for循环互补;

  2. 吃透while完整语法结构、执行流程、强制缩进规则;

  3. 掌握while循环标准三步写法:初始化变量→设置循环条件→循环内更新变量;

  4. 分清死循环产生原因,学会规避死循环、强行终止死循环的方法;

  5. 掌握breakcontinuewhile内的使用,重点规避continue引发的死循环;

  6. 了解while...else特殊语法;

  7. 完成数字打印、累加求和、筛选数字、交互式猜数字综合实战;

  8. 清晰区分for循环与while循环适用场景,能根据需求选对循环。

三、while循环基础详解

1. 单词含义与核心逻辑

while翻译为“当……的时候”,执行逻辑:

先判断while后方条件表达式:

  • 条件结果为True:执行缩进后的循环体代码;

  • 循环体全部执行完成后,回到开头重新判断条件

  • 条件结果变为False:直接跳出整个while循环,执行循环下方无缩进代码。

2. 完整标准语法

# 第一步:初始化控制变量
变量名 = 初始值
# 第二步:书写while循环条件
while 条件表达式:
    # 【强制缩进】循环体代码,条件为True才会重复执行
    执行语句1
    执行语句2
    # 第三步:循环体内更新控制变量(防止死循环,必不可少)
    变量名 += 1 / 变量名 -= 1
# 无缩进代码:循环结束后仅执行一次
后续代码

语法分项拆解:

  1. 初始化控制变量 提前定义用来控制循环启停的数字变量(如i = 1),给一个起始数值,用来和条件做对比;

  2. 条件表达式 可以是比较运算(i <= 10)、逻辑运算;表达式结果只能是True/False;末尾必须带英文冒号:

  3. 循环体缩进 Python 依靠 4 个空格缩进区分代码块,只有缩进后的代码会重复循环;无缩进代码不属于循环,只会运

行一次;

  1. 更新控制变量 循环内部必须修改控制变量的值(自增+=1/ 自减-=1),否则条件永远成立,程序卡死进入死循环。

3. 基础示例 1:while 打印 1~10(逐行拆解运行逻辑)

# 1. 初始化计数器变量
i = 1
# 2. 设置循环条件:i小于等于10时循环执行
while i <= 10:
    # 循环体:打印当前数字
    print("当前数字:", i)
    # 3. 更新变量:i每次+1,逐步让条件变为False
    i = i + 1

逐轮运行拆解:

  1. 初始i=1,判断1<=10 → True,打印 1,i变为 2;

  2. i=2,判断2<=10 → True,打印 2,i变为 3; ……

  3. i=10,判断10<=10 → True,打印 10,i变为 11;

  4. i=11,判断11<=10 → False,循环直接结束。 输出结果:依次打印 1、2、3、4、5、6、7、8、9、10。

四、while 循环最关键:死循环成因与解决办法

1. 什么是死循环

循环条件永久等于True,程序无限重复执行,无法自动停止,控制台卡死,只能手动强制关闭。

2. 最常见两种死循环错误

错误 1:忘记在循环内更新控制变量(新手高频踩坑)
# 错误代码:缺少 i += 1
i = 1
while i <= 10:
    print(i)
    # 没有更新i,i永远等于1,条件永久成立

问题:i始终为 1,1<=10永远是 True,无限打印数字 1。

错误 2:永久真值while True:无退出逻辑
# 纯死循环,没有任何终止条件
while True:
    print("无限循环")

3. 终止死循环的两种方案

  1. 手动强制停止:控制台窗口按下快捷键 Ctrl + C

  2. 代码内主动终止:搭配if判断 + break,满足指定条件时退出循环。

4. 合法永久循环场景(交互式程序专用)

while True:本身不是错误,适合登录、猜数字、菜单交互等不知道用户会操作多少次的场景,只要内部写好break退出逻

辑即可正常使用。

五、break 与 continue 在 while 循环中的完整用法(带避坑提示)

1. break:直接彻底结束整个 while 循环

触发break后,循环立刻终止,后续所有循环轮次全部跳过,直接执行循环下方代码。 示例:循环打印 1~10,数字等于 6

时立刻结束循环

i = 1
while i <= 10:
    if i == 6:
        # 触发break,直接跳出循环
        break
    print(i)
    i += 1

输出结果:1 2 3 4 5 代码解析:当i=6时执行break,不会打印 6,同时不再执行i +=1,循环直接结束。

2. continue:跳过当前本轮循环,直接进入下一轮

触发continue后,本轮continue下方所有代码全部跳过,直接回到while条件判断,开启下一轮循环。

重要避坑:continue 前必须更新变量,否则死循环!
错误示范(continue 引发死循环)
i = 1
while i <= 5:
    if i == 3:
        continue
    print(i)
    i += 1

问题:i=3触发continue,直接跳过下方i +=1i永远等于 3,条件永久成立,卡死。

正确写法(变量更新写在 continue 判断上方)
i = 0
while i < 5:
    # 先更新变量,再判断continue
    i += 1
    if i == 3:
        continue
    print(i)

输出结果:1 2 4 5 解析:每次循环先让 i 自增,触发 continue 也不会卡住变量,仅跳过数字 3 的打印。

六、拓展语法:while … else 结构

执行规则

只有while循环正常结束(条件变为 False,没有被break强行打断),才会执行else内代码; 如果循环被break终止,

else板块完全不会运行。

i = 1
while i <= 3:
    print(i)
    i += 1
else:
    # 循环正常走完1、2、3后执行
    print("循环全部正常结束")

输出:

1
2
3
循环全部正常结束

对比带 break 案例(else 不执行):

i = 1
while i <= 3:
    if i == 2:
        break
    print(i)
    i += 1
else:
    print("循环正常结束")

仅输出数字 1,不会打印 else 内文字。

七、综合实战案例(由浅到深)

案例 1:while 实现 1~100 数字累加求和

# 存储总和的变量,初始0
total = 0
# 计数器初始化
i = 1
while i <= 100:
    # 把当前i叠加进总和
    total = total + i
    # 计数器自增
    i += 1
# 循环结束打印最终总和
print("1~100累加总和:", total)

案例 2:while 筛选 1~30 所有奇数(continue 实现)

i = 0
while i < 30:
    i += 1
    # 能被2整除代表偶数,跳过打印
    if i % 2 == 0:
        continue
    print("奇数:", i)

案例 3:交互式猜数字游戏(while True + break 综合应用)

# 设定标准答案
answer = 8
# 永久循环,等待用户输入
while True:
    num = int(input("请输入1~10之间数字猜答案:"))
    if num > answer:
        print("猜大了,重新输入!")
    elif num < answer:
        print("猜小了,重新输入!")
    else:
        print("恭喜猜对,游戏结束!")
        # 猜对触发break,退出永久循环
        break

八、for 循环 vs while 循环 完整对比(选择标准)

对比维度 for 循环 while 循环
适用场景 已知循环次数;遍历字符串 / 列表 /range 序列 未知循环次数;条件控制、交互菜单、永久循环
计数管理 自动计数,无需手动更新变量 必须手动初始化 + 自增变量,否则死循环
代码复杂度 简单,不易出错 灵活,但新手容易踩死循环坑
典型使用场景 遍历列表、批量打印固定次数数字 登录验证、猜数字、持续输入、不确定循环轮次

选择口诀

已知次数、遍历序列用for;未知次数、条件控制用while

📖 往期历史笔记

Python 学习笔记|零基础第 1 天:Windows 系统完整安装教程 + 报错解决

Python 学习笔记| 第2天 Python Windows安装教程:VS Code 完整配置开发环境

Python零基础入门|第3天 Python变量、数据类型与输入输出

Python零基础入门| 第4天:字符串索引切片+列表完整增删改查

Python 零基础入门|第 5 天 for 循环与 range、break/continue

九、下一章预告

Python零基础入门|第7天 元组tuple、集合set、四大序列类型对比

本专栏会连续更新20天完整Python零基础教程,覆盖入门语法、数据结构、办公自动化、爬虫实战全阶段,每节课都配套课后练习题与完整源码。

欢迎关注梅雅达编程笔记,持续分享Python零基础学习内容

本文为梅雅达编程笔记原创零基础 Python 连载笔记
禁止私自搬运、二次转载,转发请标注来源。

更多推荐