当前位置:首页>python>第23课 Python while循环语句

第23课 Python while循环语句

  • 2026-09-17 04:25:12
第23课 Python while循环语句

💬欢迎学习本节课!如果你在学习过程中有疑问,欢迎在评论区留言提问,一起交流学习!

一、概念讲解

while 属于条件循环,只要条件表达式结果为True,就会重复执行循环体内的代码;当条件变为False,循环立刻结束。

执行逻辑:先判断条件,再执行循环体。如果第一次条件就是False,循环体一次都不会执行。

适用场景:

1. 循环次数不确定,依靠条件来结束循环(用户输入、等待某个条件达成)

2. 需要计数器控制固定循环次数

语法格式:

while 条件表达式:    # 循环体代码,必须缩进4个空格    循环执行的代码        # 一般要有更新变量的语句,避免死循环# 循环结束之后执行的代码(不缩进)
核心三要素(写while循环缺一不可)

1. 变量初始化:循环开始前,给控制循环的变量设置初始值

2. 循环条件:while后面的判断条件,决定什么时候停止

3. 变量更新:循环内部修改变量,让条件有机会变成False

二、基础代码案例

案例1:计数器循环,输出1~5

# 1.变量初始化i = 1# 2.循环条件while i <= 5:    print(i)    #3.变量更新,i自增    i += 1print("循环结束")
运行输出:
12345循环结束
执行流程拆解:

i=1,1<=5 → True,打印1,i=2

i=2,2<=5 → True,打印2,i=3

i=3,3<=5 → True,打印3,i=4

i=4,4<=5 → True,打印4,i=5

i=5,5<=5 → True,打印5,i=6

i=6,6<=5 → False,退出循环,执行print("循环结束")

案例2:计算1到10累加和

sum_result = 0i = 1while i <= 10:    sum_result = sum_result + i    i += 1print("1~10总和:", sum_result)
输出:1~10总和: 55

三、特殊知识点详解

3.1 死循环(无限循环)

当循环条件永远为True,循环不会自动停止,称为死循环。

人为错误造成死循环:忘记写变量更新语句 i +=1

# ❌错误示例,死循环,程序会一直打印1i = 1while i <=5:    print(i)    # i +=1 被注释掉,i永远等于1
如果运行出现死循环,控制台按 Ctrl + C强制终止程序。

有意使用死循环 while True

while True条件永久为真,不会自动停止,必须配合break手动退出。适合不知道循环多少次的场景,比如用户反复输入指令,输入指定文字才退出。

while True:    content = input("请输入内容,输入quit退出:")    if content == "quit":            break   # break跳出整个while循环    print("你输入的是:", content)print("程序退出")
3.2 break 跳出整个循环

break一旦执行,立刻终止整个while循环,剩下循环不再执行,直接跳出循环外面继续运行代码。

i = 1while i <= 5:    if i == 3:       brea    print(i)    i +=1print("循环结束")
输出:
12循环结束
3.3 continue 跳过本次循环

continue:跳过本次循环后面所有代码,直接回到while条件判断,开启下一轮循环。

⚠️重点坑点:在while中使用continue,continue之前一定要更新计数器变量,否则会卡死死循环。

i = 0while i < 5:    i += 1    if i ==3:       continue    print(i)
输出:
1245
错误示范(死循环):
i = 1while i <=5:    if i ==3:       continue  # continue直接跳回条件判断,i永远等于3    print(i)    i += 1 # 这句永远执行不到!
3.4 while‑else 特殊语法(Python独有)

else绑定while循环,规则:

✅循环正常结束(条件变为False,没有被break打断),执行else里面代码

❌如果是break强制跳出循环,else的代码不会执行

i = 1while i <=3:    print(i)    i +=1else:    print("循环正常走完,没有被break打断")
输出:
123循环正常走完,没有被break打断
演示break打断,else不执行:
i =1while i <=3:    if i ==2:        break    print(i)    i +=1else:    print("这里不会运行")
3.5 while循环嵌套

while里面再写while循环,外层循环执行一次,内层循环完整跑一遍。每一层循环都要注意缩进。

# 打印3行,每行输出1 2row = 1while row <=3:    col = 1    while col <=2:        print(col, end=" ")        col += 1    print()  #换行    row += 1
输出:
1 21 21 2
四、高频易错坑点汇总

1. 忘记变量更新,缺少i +=1,直接死循环。

2. while末尾漏写英文冒号:,报语法错误。

3. 缩进混乱,循环体内代码缩进不一致,出现IndentationError。

4. continue后面忘记更新循环变量,造成死循环。

5. while‑else容易混淆:else不是if的分支,是属于while循环,break会跳过else。

6. 初始变量放错位置:嵌套循环,内层循环变量要写在外层循环内部,否则不会重置。

五、课后练习题(共3道)

练习1(基础)

使用while循环打印输出1~100之间所有奇数。

练习2(break综合)

编写程序:不断接收用户输入数字,当输入数字为0的时候,使用break结束循环;不是0就打印该数字。

练习3(嵌套+while‑else)

使用while循环,找出20以内能被7整除的数字,如果找到大于15的数字就break终止循环;循环正常走完输出"查找完成"。

💬学完本课你掌握了吗?练习遇到报错、有不懂的知识点欢迎评论区留言,一起讨论!

最新文章

随机文章