- Python
轻松学 Python:语法、循环嵌套一网打尽
- 2025-7-6 10:28:36 @
Python 基础学习教程
一、前期知识回顾
(一)while 语句基础
小朋友们,咱们之前学过 while 语句啦,它就像一个“自动重复器”,能让代码重复执行哟。基本语法是这样的:
# 1. 先给变量设置初始值,就好比给游戏角色定好初始位置
count = 1
# 2. while 后面跟着条件,判断变量是否满足继续循环的要求
while count <= 3:
# 3. 条件满足时,就会做这些事情,可以有好多行代码呢
print("第", count, "次执行循环啦")
# 4. 一定要记得修改变量,不然就会一直循环,像卡机一样停不下来啦
count += 1
运行之后,会看到这样的结果:
第 1 次执行循环啦
第 2 次执行循环啦
第 3 次执行循环啦
(二)赋值运算符小技巧
咱们之前还学了赋值运算符,普通的写法 a = a + 1
,其实有更简便的写法 a += 1
,效果是一样的哟,就像走捷径一样方便!
(三)while 循环判断奇偶
用 while 循环还能判断数字是奇数还是偶数呢,就像给数字分队伍。比如:
num = 5
if num % 2 == 0: # % 这个符号是取余数的意思,除以 2 余数是 0 就是偶数
print(num, "是偶数")
else:
print(num, "是奇数")
运行后会输出 5 是奇数
,这样就给数字分好队伍啦。
二、格式化操作符(% 用法)
(一)为啥要用格式化操作符
小朋友们,咱们之前用 print 语句打印内容的时候,来回切换输入法输入变量是不是很麻烦呀?格式化操作符 % 就能帮咱们解决这个问题,它可以让文字和变量完美“搭配”在一起打印出来。
(二)常用格式化字符
下面这些是常用的格式化字符,就像不同的“魔法咒语”,能让不同类型的变量正确显示:
格式化字符 | 含义 | 例子 |
---|---|---|
%s | 用来处理字符串,像名字、句子这些 | %s 同学,你好呀 % "小明" 就会变成 小明 同学,你好呀 |
%d | 处理整数,像数量、年龄 | 我今年 %d 岁啦 % 10 会变成 我今年 10 岁啦 |
%f | 处理浮点数,像价格、小数,.2f 还能保留 2 位小数哟 |
苹果每斤 %.2f 元 % 4.98 会变成 苹果每斤 4.98 元 |
%% | 就是输出 % 本身啦 | 中奖率 50%% 就会显示 中奖率 50% |
(三)示例代码
咱们来看具体的例子呀:
num = 8
apple_price = 4.98
name = "王小明"
age = 18
# 当要搭配多个变量的时候,把变量用括号包起来就好啦
print("小明买了 %d 斤苹果,每斤 %.2f 元" % (num, apple_price))
print("他的名字叫 %s ,今年 %d 岁啦" % (name, age))
运行之后,就会看到:
小明买了 8 斤苹果,每斤 4.98 元
他的名字叫王小明 ,今年 18 岁啦
三、break 和 continue(循环里的“小开关”)
(一)break 语句(直接“停止”循环)
break 就像跑步机的“停止键”,遇到它,循环就直接停止啦。看下面的代码:
count = 1
while count <= 5:
print("第", count, "次跑步啦")
if count == 3: # 跑到第 3 次,按下“停止键”
break
count += 1
运行结果是:
第 1 次跑步啦
第 2 次跑步啦
第 3 次跑步啦
到第 3 次就停止循环咯。
(二)continue 语句(跳过“当前次”循环)
continue 呢,会跳过本次循环剩下的代码,直接开始下一次循环。不过要注意,一定要更新变量,不然程序会“卡死”哟,就像汽车卡住不动啦。
错误示例(会无限循环)
laji = 1
while laji <= 5:
if laji == 3:
continue # 跳过本次循环,但是 laji 没更新,就会一直卡在 3 这里啦
print("倒第", laji, "桶垃圾")
laji += 1
这个程序会一直循环,因为 laji
永远是 3,就像卡bug了一样。
正确示例(提前更新变量)
laji = 1
while laji <= 5:
if laji == 3:
laji += 1 # 先更新变量,再跳过本次循环
continue
print("倒第", laji, "桶垃圾")
laji += 1
运行结果:
倒第 1 桶垃圾
倒第 2 桶垃圾
倒第 4 桶垃圾
倒第 5 桶垃圾
四、循环嵌套(“俄罗斯套娃”循环)
(一)什么是循环嵌套
小朋友们,你们见过俄罗斯套娃吗?一个大娃娃里套着小娃娃。循环嵌套就是一个循环里再套一个循环,像打印九九乘法表、矩形这些就会用到它哟。
(二)打印矩形(基础嵌套示例)
咱们先来看打印矩形的例子,需求是打印 6 行、每行 5 个 *
的矩形。
# 外部循环:控制矩形的行数,这里要打印 6 行
i = 1
while i <= 6:
# 内部循环:控制每行有几个 * ,这里每行 5 个
j = 1
while j <= 5:
print("*", end="") # end="" 能让 * 不换行,挨在一起
j += 1 # 内部循环的变量要更新
print() # 每行结束后换行,开始新的一行
i += 1 # 外部循环的变量也要更新
运行之后,就会看到:
*****
*****
*****
*****
*****
*****
这样一个矩形就打印出来啦。
(三)打印九九乘法表(进阶嵌套)
咱们再挑战一下打印九九乘法表,就是像这样的:
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
...
代码是这样的:
# 外部循环:控制乘法表的行数,从 1 到 9
row = 1
while row <= 9:
# 内部循环:控制每行的列数,列数和当前行数一样
col = 1
while col <= row:
# 打印乘法式子,%d 是整数,\t 是用来对齐的空格
print("%d×%d=%d" % (col, row, col * row), end="\t")
col += 1 # 内部变量更新
print() # 每行结束后换行
row += 1 # 外部变量更新
运行之后,就能看到完整的九九乘法表啦:
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
1×4=4 2×4=8 3×4=12 4×4=16
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25
1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36
1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49
1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64
1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81
五、课程总结(思维导图形式帮助理解)
Python 学习总结
├─ while 语句基础
│ ├─ 语法:变量初始值 → while 条件 → 循环体 → 修改变量
│ └─ 作用:让代码重复执行,像循环播放动画
├─ 格式化操作符(%)
│ ├─ %s:处理字符串(名字、句子等)
│ ├─ %d:处理整数(数量、年龄等)
│ ├─ %f:处理浮点数(价格、小数等,.2f 保留 2 位小数)
│ └─ %%:输出 % 本身
├─ break & continue
│ ├─ break:遇到它直接跳出循环,像跑步机“停止键”
│ └─ continue:跳过本次循环剩下的代码,要注意更新变量,不然会“卡死”
└─ 循环嵌套
├─ 基础:打印矩形(外部循环控制行数,内部循环控制列数)
└─ 进阶:打印九九乘法表(按行和列的规律循环)
小作业
- 用
while
循环打印 1 到 10 的数字,但是遇到数字 7 的时候,用continue
跳过它。 - 尝试用循环嵌套打印一个三角形,比如 5 行,每行的
*
数量依次增加。
小朋友们,编程就像搭积木一样,多练习就能搭出超有趣的“代码城堡”啦,加油哟! 🏰
1 条评论
-
admin SU @ 2025-7-6 11:00:36已修改
Python 循环与格式化输出学习教程
一、while循环基础
1. while循环的基本结构
# 初始化变量 a = 1 # while循环结构 while a <= 5: # 检查条件:当a小于等于5时执行循环体 print(f"这是第{a}次循环") # 循环体:打印当前循环次数 a += 1 # 更新变量:a的值加1 # 循环结束后执行的代码 print("循环结束!")
运行结果:
这是第1次循环 这是第2次循环 这是第3次循环 这是第4次循环 这是第5次循环 循环结束!
2. 赋值运算符简化
# 普通赋值 vs 简化赋值 a = 5 a = a + 1 # 普通赋值:a的值加1 print(a) # 输出: 6 a = 5 a += 1 # 简化赋值:等价于 a = a + 1 print(a) # 输出: 6 # 其他简化赋值运算符 a -= 2 # 等价于 a = a - 2 a *= 3 # 等价于 a = a * 3 a /= 2 # 等价于 a = a / 2
二、格式化输出 % 操作符
1. 为什么需要格式化输出?
# 未格式化的输出(需要频繁切换输入法) name = "小明" age = 8 score = 95.5 print("我的名字是", name, ",今年", age, "岁,考试成绩是", score, "分。") # 使用格式化输出(更简洁) print("我的名字是%s,今年%d岁,考试成绩是%.1f分。" % (name, age, score))
运行结果对比:
未格式化:我的名字是 小明 ,今年 8 岁,考试成绩是 95.5 分。 格式化后:我的名字是小明,今年8岁,考试成绩是95.5分。
2. 常用格式化字符
符号 含义 示例 %s 字符串 "姓名:%s" % "小红" → 姓名:小红 %d 整数 "年龄:%d" % 10 → 年龄:10 %f 浮点数 "价格:%.2f" % 3.1415 → 价格:3.14 %% 输出%符号 "折扣:%d%%" % 85 → 折扣:85% 3. 宽度控制与对齐
# 整数宽度控制 num = 8 print("默认宽度:%d" % num) # 输出: 8 print("宽度为5:%5d" % num) # 输出: " 8"(右对齐,前面补空格) print("宽度为5且左对齐:%-5d" % num) # 输出: "8 "(左对齐,后面补空格) # 浮点数宽度与精度控制 price = 4.98 print("默认精度:%f" % price) # 输出: 4.980000 print("保留2位小数:%.2f" % price) # 输出: 4.98 print("宽度为7,保留2位小数:%7.2f" % price) # 输出: " 4.98" print("左对齐:%-7.2f" % price) # 输出: "4.98 " # 组合示例 print("小明买了%5d斤苹果,每斤%-7.2f元" % (num, price)) # 输出: "小明买了 8斤苹果,每斤4.98 元"
三、break和continue的使用
1. break语句(跳出循环)
# 示例:跑步模拟器 - 跑到第3圈时太累了,停止跑步 circle = 1 while circle <= 10: print(f"正在跑第{circle}圈...") if circle == 3: print("太累了,不跑了!") break # 立即跳出循环 circle += 1 print("跑步结束!")
运行结果:
正在跑第1圈... 正在跑第2圈... 正在跑第3圈... 太累了,不跑了! 跑步结束!
2. continue语句(跳过当前循环)
# 示例:吃水果 - 不喜欢吃苹果,跳过苹果继续吃其他水果 fruits = ["香蕉", "苹果", "草莓", "苹果", "西瓜"] for fruit in fruits: if fruit == "苹果": print("跳过苹果!") continue # 跳过本次循环的剩余代码 print(f"我吃了一个{fruit}。") print("水果吃完啦!")
运行结果:
我吃了一个香蕉。 跳过苹果! 我吃了一个草莓。 跳过苹果! 我吃了一个西瓜。 水果吃完啦!
3. continue的常见错误(死循环)
# 错误示例:倒垃圾任务(遇到第5桶垃圾时陷入死循环) laji = 1 while laji <= 10: if laji == 5: print("第5桶垃圾太臭了,跳过!") continue # 错误:跳过了laji += 1,导致laji永远等于5 print(f"倒第{laji}桶垃圾...") laji += 1 # 正确示例:在continue前更新变量 laji = 1 while laji <= 10: if laji == 5: print("第5桶垃圾太臭了,跳过!") laji += 1 # 先更新变量,再跳过 continue print(f"倒第{laji}桶垃圾...") laji += 1
四、while循环嵌套与九九乘法表
1. 嵌套循环基础
# 示例:用嵌套循环打印矩形 rows = 5 cols = 4 i = 1 while i <= rows: # 外层循环控制行数 j = 1 while j <= cols: # 内层循环控制列数 print("*", end=" ") # end=" "表示不换行,用空格连接 j += 1 print() # 换行 i += 1
运行结果:
* * * * * * * * * * * * * * * * * * * *
2. 九九乘法表
# 九九乘法表(上三角形式) i = 1 # 行数(被乘数) while i <= 9: j = 1 # 列数(乘数) while j <= i: # 只打印到当前行的位置(上三角) product = i * j # 使用格式化输出对齐:宽度为4,左对齐 print(f"{j}×{i}={product} ", end="") j += 1 print() # 换行 i += 1
运行结果:
1×1=1 1×2=2 2×2=4 1×3=3 2×3=6 3×3=9 1×4=4 2×4=8 3×4=12 4×4=16 1×5=5 2×5=10 3×5=15 4×5=20 5×5=25 1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36 1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49 1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64 1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81
五、总结与练习
1. 重点回顾
- while循环:重复执行代码块,直到条件不满足
- 格式化输出:使用
%
操作符,如%d
(整数)、%f
(浮点数)、%s
(字符串) - 宽度控制:
%5d
(宽度为5的整数)、%.2f
(保留2位小数) - 对齐方式:
%-5d
(左对齐)、%5d
(右对齐) - break:跳出整个循环
- continue:跳过当前循环,继续下一次
- 嵌套循环:循环中包含循环,可用于生成表格、图案等
2. 练习题
- 打印图形:用嵌套循环打印一个直角三角形
* ** *** **** *****
-
计算总和:计算1到100中所有偶数的和
-
改进乘法表:打印出下三角形式的九九乘法表
-
猜数字游戏:程序随机生成一个1-100的数字,让用户猜,直到猜对为止(提示:使用
import random
生成随机数)
以上教程通过丰富的例子和可视化效果,帮助小学生理解Python中while循环、格式化输出、break/continue以及嵌套循环的概念。每个部分都配有详细的注释和运行结果,便于学习和实践。
- 1