Python编程——循环嵌套

351 篇文章 5 订阅
215 篇文章 5 订阅

循环嵌套

循环嵌套是指一个循环结构包含在另一个循环结构内部。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 变量的值来生成不同规模的三角形。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python中的循环嵌套是指在一个循环体内部再嵌套另一个循环体。这样做的目的是为了在某些情况下能够更灵活地控制循环的执行。Python不仅支持while循环嵌套应用,也支持for循环嵌套应用。通过循环嵌套,我们可以实现更复杂的循环逻辑。 举个例子来说明,假设我们要打印一个九九乘法表,可以使用两层循环来实现嵌套。外层循环控制行数,内层循环控制每一行的列数。具体代码如下: ```python for i in range(1, 10): for j in range(1, i+1): print(f"{j} * {i} = {i*j}", end="\t") print() ``` 上述代码中,外层循环变量`i`代表行数,内层循环变量`j`代表列数。在内层循环中,通过`print()`函数打印出每个乘法表达式,并使用制表符`\t`进行分隔。通过这样的循环嵌套,我们就能够输出完整的九九乘法表。 循环嵌套在实际编程中经常用到,特别是在处理多维数据结构或者遍历嵌套的数据集合时。它可以帮助我们更方便地处理复杂的循环逻辑,提高编程效率。同时,需要注意的是,循环嵌套可能会增加程序的执行时间,因此在实际应用中,我们要合理地使用循环嵌套,避免不必要的性能损耗。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【Python入门篇】——Python循环语句(while循环嵌套应用,嵌套案例)](https://blog.csdn.net/2201_75366661/article/details/130295172)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [python嵌套循环](https://blog.csdn.net/qq_39314932/article/details/86552078)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bruce_Liuxiaowei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值