循环嵌套
循环嵌套是指一个循环结构包含在另一个循环结构内部。while循环和for循环,这两种形式可以互相嵌套,构成多层次的复杂循环结构。这种结构使得内部循环每次迭代时,外部循环也会执行一次。
下面是一个简单的示例代码,演示了循环嵌套的基本用法:
# 循环嵌套示例
for i in range(1, 10): # 外部循环
print(f"外部循环 - 迭代 {i}")
for j in range(2): # 内部循环
print(f" 内部循环 - 迭代 {j}")
在这个示例中,有一个外部 for 循环,它对变量 i 在范围 0 到 2 内进行迭代。在外部循环的每次迭代中,内部有一个嵌套的 for 循环,它对变量 j 在范围 0 到 1 内进行迭代。
当运行上述代码时,将会看到如下输出:
外部循环 - 迭代 0
内部循环 - 迭代 0
内部循环 - 迭代 1
外部循环 - 迭代 1
内部循环 - 迭代 0
内部循环 - 迭代 1
外部循环 - 迭代 2
内部循环 - 迭代 0
内部循环 - 迭代 1
可以看出,在外部循环的每次迭代中,内部循环都完整地执行一遍。这种嵌套结构通常用于处理多维数据、构建复杂模式或实现多层循环逻辑。
示例:9 x 9乘法表
同样先用[小蜜蜂AI][https://zglg.work]GPT问答获取参考代码,然后进行修改。代码如下:
# 9x9 乘法表
print('9x9乘法表\n')
for i in range(1, 10): # 外部循环控制行数
for j in range(1, i+1): # 内部循环控制列数
result = i * j
print(f"{i} x {j} = {result}", end='\t')
print() # 每行结束后换行
运行结果如下:
1 x 1 = 1
2 x 1 = 2 2 x 2 = 4
3 x 1 = 3 3 x 2 = 6 3 x 3 = 9
4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16
5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25
6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36
7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49
8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64
9 x 1 = 9 9 x 2 = 18 9 x 3 = 27 9 x 4 = 36 9 x 5 = 45 9 x 6 = 54 9 x 7 = 63 9 x 8 = 72 9 x 9 = 81
在这个示例中,外部循环(i)负责控制乘法表的行数,范围从1到9;内部循环(j)负责控制每一行中的列数,同样范围也从1到i+1。在内部循环中,计算乘法结果并输出对应的乘法表达式。
运行上述代码将会生成完整的9x9乘法表,每次内部循环结束后都会换行显示下一行的乘法表达式。
示例:绘制💠菱形
符号 ❖ 对应的 Unicode 编码是 U+2756。您可以使用 \u2756 来在 Python 中表示这个特殊的菱形符号。
以下是一个示例代码,演示如何使用 Unicode 字符创建一个字符菱形:
# 定义菱形的高度
height = 4
# 打印上半部分菱形
for i in range(height):
print(" " * (height - i - 1) + " \u2756" * (2 * i + 1))
# 打印下半部分菱形
for i in range(height-2, -1, -1):
print(" " * (height - i - 1) + " \u2756" * (2 * i + 1))
运行结果如下:
❖
❖ ❖ ❖
❖ ❖ ❖ ❖ ❖
❖ ❖ ❖ ❖ ❖ ❖ ❖
❖ ❖ ❖ ❖ ❖
❖ ❖ ❖
❖
在这个示例中,我们使用 Unicode 字符 \u2756(黑实心正方形)来绘制字符菱形。首先打印菱形的上半部分,然后打印下半部分,以此创建完整的字符菱形。
你可以调整 height 变量的值来改变菱形的大小。运行上述代码将在控制台上显示一个字符菱形。
示例:弗洛伊德三角形
弗洛伊德三角形是一个数字三角形,其每一行的数字都从1开始递增,且每个数字都比它上方两个数字之和大。下面是一个示例代码,演示如何生成弗洛伊德三角形:
def floyd_triangle(rows):
number = 1
for i in range(1, rows + 1):
for j in range(1, i + 1):
print(number, end=" ")
number += 1
print()
# rows要打印的行数
floyd_triangle(int(input('请输入要打印的行数:')))
在这个示例中,floyd_triangle() 函数用来生成并打印弗洛伊德三角形。通过指定 rows 变量来控制打印的行数,可以生成不同规模的弗洛伊德三角形。
运行上述代码将生成一个包含5行数字的弗洛伊德三角形。你可以根据需要更改 rows 变量的值来生成不同规模的三角形。