当前位置:首页>python>Python零基础入门|第6天 while条件循环

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

  • 2026-10-11 06:45:40
Python零基础入门|第6天 while条件循环

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. 掌握break、continue在while内的使用,重点规避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 += 1i = 1while 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 = 1while 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 = 1while i <= 5:    if i == 3:        continue    print(i)    i += 1

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

正确写法(变量更新写在 continue 判断上方)
i = 0while 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 = 1while i <= 3:    print(i)    i += 1else:    # 循环正常走完1、2、3后执行    print("循环全部正常结束")

输出:

123循环全部正常结束

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

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

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

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

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

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

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

i = 0while 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、四大序列类型对比

十、公众号福利 & 原创声明

✅ 回复【第6天源码】领取本章全套可运行源码 + 课后练习题代码报错、看不懂

知识点,可在评论区粘贴问题,逐一解答!

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

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

最新文章

随机文章