• 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:跳过本次循环剩下的代码,要注意更新变量,不然会“卡死”
└─ 循环嵌套
   ├─ 基础:打印矩形(外部循环控制行数,内部循环控制列数)
   └─ 进阶:打印九九乘法表(按行和列的规律循环)

小作业

  1. while 循环打印 1 到 10 的数字,但是遇到数字 7 的时候,用 continue 跳过它。
  2. 尝试用循环嵌套打印一个三角形,比如 5 行,每行的 * 数量依次增加。

小朋友们,编程就像搭积木一样,多练习就能搭出超有趣的“代码城堡”啦,加油哟! 🏰

1 条评论

  • @ 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. 打印图形:用嵌套循环打印一个直角三角形
    *
    **
    ***
    ****
    *****
    
    1. 计算总和:计算1到100中所有偶数的和

    2. 改进乘法表:打印出下三角形式的九九乘法表

    3. 猜数字游戏:程序随机生成一个1-100的数字,让用户猜,直到猜对为止(提示:使用import random生成随机数)

    以上教程通过丰富的例子和可视化效果,帮助小学生理解Python中while循环、格式化输出、break/continue以及嵌套循环的概念。每个部分都配有详细的注释和运行结果,便于学习和实践。

    • 1