【python百炼成魔】Python循环语句:嵌套循环

2023-06-27 18:14:18

前言

在这里插入图片描述

嵌套循环

Python中的嵌套循环是指在一个循环体内部包含另一个循环。通过嵌套循环,我们可以在外部循环的每次迭代中,执行内部循环的所有迭代。

嵌套循环可以帮助我们处理一些复杂的问题。

嵌套循环的逻辑:

for x in range(4):
    for y in range(4):
        print (x,y)
0 0
0 1
0 2
0 3

1 0
1 1
1 2
1 3

2 0
2 1
2 2
2 3

3 0
3 1
3 2
3 3

为了更直观一些:

fruits = ["apple", "banana", "cherry"]
colors = ["red", "green", "blue"]

for fruit in fruits:
    for color in colors:
            print(fruit, color)

执行结果:

apple red
apple green
apple blue
banana red
banana green
banana blue
cherry red
cherry green
cherry blue

嵌套的用途

  • 遍历多维数据结构:嵌套循环可以用于遍历多维列表、矩阵和其他数据结构。通过逐个访问元素,可以对数据进行处理、分析或输出。
  • 生成排列组合:嵌套循环可以用于生成排列组合的情况。例如,使用两个嵌套的循环可以生成二维平面上的所有坐标对。
  • 打印图案或模型:通过嵌套循环的控制和组合,可以打印出各种图案、模型或形状。例如,使用嵌套循环可以打印三角形、矩形、菱形等特定模式。
  • 多层循环迭代:有时需要在多个层级上进行循环迭代,以处理复杂的问题或数据结构。嵌套循环可-以实现多层循环迭代,使得对嵌套结构的每个层级进行操作成为可能。
  • 搜索和匹配问题:对于搜索和匹配问题,嵌套循环可以用于遍历可能的解空间。通过嵌套循环,可以尝试不同的组合或参数,以找到所需的匹配或满足条件的解。
  • 嵌套条件判断:在某些情况下,嵌套循环可以与嵌套条件判断配合使用,以根据多个条件执行不同的操作。这可以用于实现复杂的逻辑和控制流程。

嵌套循环案例

1. 输出一个三行四列的矩形

for i in range(1,4):
    for j in range(1,5):
        print('*',end='\t')
    print()

执行结果:
在这里插入图片描述

2. 打印直角三角形

for i in range(1,10): # 行数
    for j in range(1,i+1):
        print('*',end='\t')
    print()

执行结果:
在这里插入图片描述

3.写一个九九乘法表

方法一:

# 打印九九乘法表
for i in range(1, 10):
    for j in range(1, 10):
        result = i * j
        print(f"{i} x {j} = {result}", end="\t")
    print()

执行结果:

在这里插入图片描述

方法二:

for i in range(1,10): # 行数
    for j in range(1,i+1):
        print(i,'*',j,'=',i*j,end='\t')
    print()

执行结果:

在这里插入图片描述
每行的乘法表达式按照 “i * j = i*j” 的格式打印出来,并用制表符 \t 分隔。外部循环控制行数,内部循环控制每行中的乘法表达式数量。

方法三: 使用while循环实现乘法表

# 打印九九乘法表
i = 1
while i <= 9:
    j = 1
    while j <= i:
        result = i * j
        print(f"{i} x {j} = {result}", end="\t")
        j += 1
    print()
    i += 1

总结

我是沐风晓月,我在csdn等你

原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

更多推荐

Spring WebSocket 认证与授权:掌控安全通道,迈向巅峰之旅!

一、需要了解的事项http和WebSocket的安全链和安全配置是完全独立的。SpringAuthenticationProvider根本不参与Websocket身份验证。将要给出的示例中,身份验证不会发生在HTTP协商端点上,因为JavaScriptSTOMP(websocket)库不会随HTTP请求一起发送必要的身

ARM DAY3

硬件模块与总线连接:各种硬件模块(如GPIO控制器)与CPU(或内核)通过总线进行连接。这个总线负责数据和指令的传输。特殊功能寄存器(SFRs)的角色:每个硬件模块内部都有一组特殊功能寄存器(SFRs)。这些寄存器是硬件模块的一部分,用于存储该模块的当前状态和配置信息。它们在特定的内存地址中有其对应的位置。使用LDR读

华为MTL流程的六个模块初步解析

大家好!昨天华研荟给大家介绍了华为MTL流程的基本概念和发展历程,今天我们来了解下华为MTL流程的六个模块。如昨天所述,华为的MLT流程主要有六个模块:市场洞察、市场管理、联合创新、销售赋能、激发需求、营销质量管理。接下来,我们来了解这六个模块。1.市场洞察在这里指的是通过观察和分析市场动态,了解市场趋势、需求和竞争环

【Android】线程下载资源保证资源到位采用了 OkHttp的三方网络下载 & 文件缓存策略

背景使用SVGA的三方的url播放方式会比较慢,至少延迟3s以上才会出现svga效果,所以改变策略:将线上的svga全部下载到本地进行播放,那么就得将采用网络缓存的方式实现效果。实现那么就得实现以下几点:初次下载缓存判重下载下载的地址就放在这里。这里也是常规的文件路径下载通过上下文类获取即可,如果参数路径没有,就会再构

ETHERCAT转MODBUS TCP/IP协议网关

产品介绍JM-ECT-TCPIP是自主研发的一款EtherCAT从站功能的通讯网关。该产品主要功能是将EtherCAT网络和TCP/IP网络连接起来。本网关连接到EtherCAT总线中做为从站使用,连接到TCP/IP网络中做为服务器或客户端使用。产品参数技术参数u网关做为EtherCAT网络的从站,可以连接倍福、欧姆龙

ASIC-WORLD Verilog(11)过程时序控制

写在前面在自己准备写一些简单的verilog教程之前,参考了许多资料----Asic-World网站的这套verilog教程即是其一。这套教程写得极好,奈何没有中文,在下只好斗胆翻译过来(加了自己的理解)分享给大家。这是网站原文:VerilogTutorial这是系列导航:Verilog教程系列文章导航过程块和时序控制

深入浅出学Verilog--基础语法

1、简介Verilog的语法和C语言非常类似,相对来说还是非常好学的。和C语言一样,Verilog语句也是由一连串的令牌(Token)组成。1个令牌必须由1个或1个以上的字符(character)组成,令牌可以是:注释(Comment)空白符(Whitespace)运算符(Operator)数字(Number)字符串(

新手如何学习RPA,怎么学,从哪下手,学习资源哪里来?

随着人工智能技术的迅速发展,RPA(RoboticProcessAutomation)已经成为企业自动化流程的一个重要工具。越来越多的新手开始学习RPA技术,以便在职场中获得更多的竞争优势。本文将介绍新手如何学习RPA,从哪里开始学习,以及有哪些学习资源可以利用。一、了解RPA基础知识学习RPA的第一步是了解其基础知识

S7通信协议的挑高点

目录1.S7协议之布尔操作2.S7协议之PDU读取3S7协议之多组读取在电气学习的路上,西门子PLC应该是每个人的启蒙PLC,从早期的S7-300/400PLC搭建Profibus-DP网络开始接触,到后来的S7-200SmartPLC,再到现在的S7-1200/1500PLC博途软件。西门子S7协议是非常强大的一个协

面向对象的分析与设计(精品课程)第一章作业

面向对象的分析与设计(精品课程)第一章作业一.单选题(共2题,18分)二.多选题(共3题,27分)三.填空题(共5题,45分)四.简答题(共1题,10分)一.单选题(共2题,18分)(单选题)如果想对一个类的意义进行描述,那么应该采用()。A标记值B规格描述C注释D构造型(单选题)()模型的缺点是缺乏灵活性,特别是无法

Centos 7 部署SVN服务器

一、安装SVN1、安装Subversionsudoyum-yinstallsubversion2、验证是否安装成功(查看svn版本号)svnserve--version二、创建版本库1、先建立目录,目录位置可修改mkdir-p/var/svncd/var/svn2、创建版本库,添加权限svnadmincreate/va

热文推荐