Python编程——循环嵌套

简介: Python编程——循环嵌套

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

相关文章
|
13天前
|
设计模式 开发者 Python
Python编程中的设计模式:工厂方法模式###
本文深入浅出地探讨了Python编程中的一种重要设计模式——工厂方法模式。通过具体案例和代码示例,我们将了解工厂方法模式的定义、应用场景、实现步骤以及其优势与潜在缺点。无论你是Python新手还是有经验的开发者,都能从本文中获得关于如何在实际项目中有效应用工厂方法模式的启发。 ###
|
2天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第36天】本文将带你走进Python的世界,从基础语法出发,逐步深入到实际项目应用。我们将一起探索Python的简洁与强大,通过实例学习如何运用Python解决问题。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供有价值的指导和灵感。让我们一起开启Python编程之旅,用代码书写想法,创造可能。
|
3天前
|
Python
不容错过!Python中图的精妙表示与高效遍历策略,提升你的编程艺术感
本文介绍了Python中图的表示方法及遍历策略。图可通过邻接表或邻接矩阵表示,前者节省空间适合稀疏图,后者便于检查连接但占用更多空间。文章详细展示了邻接表和邻接矩阵的实现,并讲解了深度优先搜索(DFS)和广度优先搜索(BFS)的遍历方法,帮助读者掌握图的基本操作和应用技巧。
18 4
|
3天前
|
设计模式 程序员 数据处理
编程之旅:探索Python中的装饰器
【10月更文挑战第34天】在编程的海洋中,Python这艘航船以其简洁优雅著称。其中,装饰器作为一项高级特性,如同船上的风帆,让代码更加灵活和强大。本文将带你领略装饰器的奥秘,从基础概念到实际应用,一起感受编程之美。
|
6天前
|
存储 人工智能 数据挖掘
从零起步,揭秘Python编程如何带你从新手村迈向高手殿堂
【10月更文挑战第32天】Python,诞生于1991年的高级编程语言,以其简洁明了的语法成为众多程序员的入门首选。从基础的变量类型、控制流到列表、字典等数据结构,再到函数定义与调用及面向对象编程,Python提供了丰富的功能和强大的库支持,适用于Web开发、数据分析、人工智能等多个领域。学习Python不仅是掌握一门语言,更是加入一个充满活力的技术社区,开启探索未知世界的旅程。
15 5
|
3天前
|
机器学习/深度学习 JSON API
Python编程实战:构建一个简单的天气预报应用
Python编程实战:构建一个简单的天气预报应用
13 1
|
3天前
|
算法 Python
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果;贪心算法在每一步选择局部最优解,追求全局最优;动态规划通过保存子问题的解,避免重复计算,确保全局最优。这三种算法各具特色,适用于不同类型的问题,合理选择能显著提升编程效率。
19 2
|
6天前
|
人工智能 数据挖掘 开发者
探索Python编程:从基础到进阶
【10月更文挑战第32天】本文旨在通过浅显易懂的语言,带领读者从零开始学习Python编程。我们将一起探索Python的基础语法,了解如何编写简单的程序,并逐步深入到更复杂的编程概念。文章将通过实际的代码示例,帮助读者加深理解,并在结尾处提供练习题以巩固所学知识。无论你是编程新手还是希望提升编程技能的开发者,这篇文章都将为你的学习之旅提供宝贵的指导和启发。
|
11天前
|
数据处理 Python
从零到英雄:Python编程的奇幻旅程###
想象你正站在数字世界的门槛上,手中握着一把名为“Python”的魔法钥匙。别小看这把钥匙,它能开启无限可能的大门,引领你穿梭于现实与虚拟之间,创造属于自己的奇迹。本文将带你踏上一场从零基础到编程英雄的奇妙之旅,通过生动有趣的比喻和实际案例,让你领略Python编程的魅力,激发内心深处对技术的渴望与热爱。 ###
|
14天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第24天】本文将带你进入Python的世界,从最基础的语法开始,逐步深入到实际的项目应用。我们将一起探索Python的强大功能和灵活性,无论你是编程新手还是有经验的开发者,都能在这篇文章中找到有价值的内容。让我们一起开启Python的奇妙之旅吧!