Menu
CoddyTech

嵌套循环

本课属于 Coddy Python 学习旅程的“基础知识”单元。第 41 课,共 77 课。

嵌套循环是指一个循环位于另一个循环内部。外层循环每迭代一次,内层循环就会完成所有迭代。

我们先从一个简单的嵌套循环开始,理解这个概念:

rows = 3
cols = 2

# 外层循环
for i in range(rows):
    print(f"Outer loop iteration: {i}")
    
    # 内层循环
    for j in range(cols):
        print(f"  Inner loop iteration: {j}")

运行这段代码时,你会看到:

Outer loop iteration: 0
  Inner loop iteration: 0
  Inner loop iteration: 1
Outer loop iteration: 1
  Inner loop iteration: 0
  Inner loop iteration: 1
Outer loop iteration: 2
  Inner loop iteration: 0
  Inner loop iteration: 1

请注意,外层循环每迭代一次,内层循环都会完成它的所有迭代。每个循环都有自己的计数器:外层循环每次运行时,j 都会从 0 重新开始,而 rows 和 cols 保持不变,只用于告诉循环何时停止。

现在来看一个实际示例:打印一个简单的图案:

# 打印一个由星号组成的 2x3 矩形
for row in range(2):  # 2 行
    line = ""
    for col in range(3):  # 3 列
        line += "*"
    print(line)

# 输出:
# ***
# ***

外层循环控制我们打印多少行,内层循环通过添加星号来构建每一行。

challenge icon

挑战

简单

使用嵌套循环编写代码,打印由星号 (*) 组成的矩形图案。

你的程序应该:

  1. 读取两个整数:rows 和 cols
  2. 使用嵌套循环结构打印图案
  3. 外层循环应该遍历每一行
  4. 内层循环应该用正确数量的星号构建每一行
  5. 打印每一行完整的内容

例如:如果输入为 3 行、4 列,输出应该是:

****
****
****

为每个循环使用一个新的计数器(例如,用 i 表示行,用 j 表示一行中的星号),并将它与 rows 或 cols 进行比较。不要修改 rows 和 cols 本身:每一行都需要再次使用 cols。

亲手试试

# 获取行数和列数的输入
rows = int(input())
cols = int(input())

# 在这里编写嵌套循环
# 外层循环遍历行
# 内层循环遍历列
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Python 在线编译器