当前位置:首页>python>卡死、无限循环、全报错,轮回!我终于把Python While循环部分搞定-上

卡死、无限循环、全报错,轮回!我终于把Python While循环部分搞定-上

  • 2026-10-11 06:10:24
卡死、无限循环、全报错,轮回!我终于把Python While循环部分搞定-上

PS:写在最前

今天的PS 写在最前,主要是贴心提醒各位编程大佬请直接划走!这篇只写给自学Python、屡屡被while循环坑拿捏的小白。

大神看循环是简单逻辑,我们小白看循环是「玄学轮回」:跟着教程敲稳如老狗,独立写代码寸步难行。

今天专门复盘我踩遍的while循环坑(不好意思暴露更深滴坑),全是血泪经验,帮同类自学党少走弯路!

——正文开始

一、我的头号大坑:无脑写出无限死循环

题目1:打印我是大美女5次(这里说大实话了)

❌ 踩坑现场:为什么代码一跑就卡死?

初始化计数器i = 0,循环条件i < 5,是的他没有错,但是如果对i没有约束

那么数器永远停在0,0永远小于5,循环条件永久成立,程序无限运行,这就是典型的「死循环」。

我们把循环规则换成生活场景:

规矩:只要吃糖次数没到5次,就可以一直吃糖、一直输出「我是大美女」。

漏洞:每次吃完糖,从来不记录吃糖次数,永远默认自己只吃了0次。

结果:永远满足「没吃到5次」的条件,就会一直吃糖、一直循环,停不下来!

✅ 正确修复逻辑

循环的核心:每执行一次循环内容,必须更新计数器!

每打印一次「我是大美女」,就让计数器i = i + 1(简写i += 1):

第一轮执行→ i变为1

第二轮执行→ i变为2

……

直到i=10时,不满足 i < 10的条件,循环自动终止。

二、以上代码修复完成,还没从坑里爬出来,又掉入一个隐形大坑:代码能跑但数字全乱(顺序坑)

当我觉得代码修好了,但打印的次数、序号对不上,问题全在两行代码的执行顺序!我们以「标注循环次数」为例,对比两种写法的区别。

1. 先打印,后更新计数器

执行逻辑:先输出当前次数,再让计数器+1

特点:打印的是当前循环的真实次数,贴合我们的认知,是最常用、最标准的写法。

示例逻辑:

i=0 → 打印第1次内容 → i+1=1

i=1 → 打印第2次内容 → i+1=2

2. 先更新计数器,后打印内容

执行逻辑:先让计数器+1,再输出内容

特点:打印的数字会提前跳数,初始值会被跳过,容易出现次数对不上的问题,非特殊需求不推荐使用。

总结性发言

二、新手致命坑:一个缩进毁掉整个循环

题目2:请打印1-10所有数字

❌ 我的翻车实录

设定规则:i ≤ 就持续循环

致命错误:i += 1没有缩进,放在了while循环外面

��糖果场景复盘

小牌子初始数字是0,规则是:牌子数字没超过10,就继续吃糖。

但「更新小牌子数字」的动作,不在循环规则里:程序只会反复执行「吃糖、打印内容」,永远不会更新牌子数字,i永远等于0,永久满足循环条件,直接卡死程序。

✅ 正确规则

所有需要重复执行的代码(打印、计数器更新),必须统一缩进在while循环内部,缺一不可!

四、细节坑:结尾打印语句放哪里,差别超大

这是考试、实操高频考点,一句话分清区别:

1. print("循环结束") 写在while循环内部(缩进)

效果:每一次循环执行完,都会打印一次「循环结束」

场景:每次循环任务完成后,需要单独提示收尾时使用。

2. print("循环结束") 写在while循环外部(不缩进)

效果:等待所有循环全部执行完毕,只打印一次「循环结束」

场景:最常用!用于整体任务收尾,提示用户所有循环流程已完成。

五、实战踩坑:1-100累加常见翻车点

用while循环计算1-100总和,新手最容易踩2个坑:

第一次翻车:

1. 计数器初始值错误:初始i=0会导致多算/少算,计算1-100需初始i=1;

2. 忘记更新计数器:直接触发死循环,无法完成累加;

3. 缩进混乱:累加公式、计数器更新必须全部缩进在循环内。

计算0-5 总和的代码正确的写法思维

第一步:写出0-5所有数字

第二步(2种方法)问题来了为啥两种方法都可以

· 第一份代码:i=1,累加 1+2+3+4+5 = 15

· 第二份代码:i=0,累加 0+1+2+3+4+5 = 15

课后习题(学习方法就是学完把笔记发人工智能,让他出题)

题目1

使用while 循环,打印输出:1 2 3 4 5

题目2

用while 循环,计算 0~10 的总和,最后只输出一次最终结果

最新文章

随机文章