哈罗,各位大朋友小朋友们!在前面的课程里,我们带孩子们学会了用各种选择语句让电脑做决定。今天,我们要聊一个能让所有程序员都直呼“真香”的偷懒神器。
大家想象一下,如果老师罚抄名字 100 遍,或者让你在屏幕上打印 1 到 10、甚至 1 到 100 的数字,难道我们要傻傻地复制粘贴,写几百行 print() 吗?
当然不!在 Python 王国里,有一个叫“循环结构”的魔法阵,专门用来搞定这些需要反复执行的机械重复活儿。今天,我们就来带孩子们收服循环家族的第一位猛将——while 循环!
🔄 什么是 while 循环?电脑的“只要……就……”
在 Python 里,while 翻译成大白话就是:“当……的时候”或者“只要……就……”。
我们可以把它想象成一个不知疲倦的“打卡机器”:
📐 魔法念咒指南:这4条排布规矩不能乱!
想要让 while 乖乖听话,代码的格式千万不能写错,小细节决定成败:
加空格:写完 while 后一定要先敲一个空格,再写你的条件。
小冒号: 条件写完后,别忘了顺手在末尾挂上一个英文冒号 :。
老规矩缩进: 只要是归 while 管的指令代码(语句块1),下方必须往右缩进 4个空格。
对齐站好:while 语句本身要和它之后不需要循环的代码(语句块2)在同一列上站整齐,千万别混在一起。
💻 实战演练一:让电脑自动数数(1 到 10)
我们先来做个热身,让电脑自动在屏幕上打印 1 到 10,每个数字占一行。
如果不用循环,得写 10 行代码;但有了 while,几行就搞定:
a = 1 # 第一步:先准备一个计数器变量 a,从 1 开始while a <= 10: # 第二步:只要 a 还小于或等于 10,就继续循环print(a) # 第三步:打印出当前的 aa += 1 # 第四步:最关键的一步!让计数器加1(不然a永远是1,就变成停不下来的死循环啦!)
电脑的内心戏是这样的:
第一次:a=1,发现 1 ≤ 10 成立!打印 1,然后 a 变成了 2。
第二次: 跑回去看条件,2 ≤ 10 成立!打印 2,然后 a 变成了 3。
……
第十次: 跑回去看条件,10 ≤ 10 成立!打印 10,然后 a 变成了 11。
第十一次: 跑回去看条件,11 不小于等于 10 了!条件变成了 False,收工下班!
🧠 实战演练二:秒杀数学大天才的经典难题
数学界有一个广为人知的故事:大数学家高斯 10 岁的时候,老师出了一道超级折磨人的算术难题,要求计算:
当时聪明的年轻高斯用凑对子的办法很快算了出来。但今天,如果让我们的孩子用 Python 编程,只要掌握了 while 循环,不管三七二十一,直接让电脑暴力累加,眨眼间就能算出答案!
快带孩子把这段“天才秒杀代码”敲进电脑吧:
a = 1 # 计数器,控制循环执行的次数,从1开始sum = 0 # 专门用来装“累加结果”的大篮子,刚开始里面是0while a <= 100: # 当a<=100时,执行循环语句sum = sum + a # 把当前的数字往大篮子里丢,计算累加a += 1 # 计数器加1,一直增加到101,循环才结束print('1+2+3+...+99+100=', sum) # 循环彻底结束后,打印计算结果!运行一下,屏幕上立刻会蹦出:
1+2+3+...+99+100= 5050!是不是比手算要快、要省心得多?📝 今日成就卡
到今天为止,孩子们正式跨入了程序设计的“三大核心结构”(顺序结构、分支结构、循环结构)中的最后一座大山!
解锁新概念: 懂得了什么是循环结构(为了反复执行某个功能而设置的结构)。
收服新武器: 掌握了 while 语句的基本格式和执行秘密。
逻辑思维升级: 深刻理解了“计数器”和“条件变化”对循环控制的重要性。