当前位置: 首页 > web >正文

Python 程序设计讲义(25):循环结构——嵌套循环

Python 程序设计讲义(25):循环结构——嵌套循环

嵌套循环是指在一个循环体中嵌套另一个循环。while 循环中可以嵌入另一个 while 循环或 for 循环。反之,也可以在 for 循环中嵌入另一个 for 循环或 while 循环。

在嵌套循环中,最外层的循环称为外循环,嵌入的循环称为内循环。

一、嵌套循环的执行流程

嵌套循环的执行流程如下图所示:

在这里插入图片描述

嵌套循环的执行流程分为以下几步:

步骤1:执行外循环,判断外循环的条件,如果为真,则执行外循环对应的语句块。如果条件不满足,则跳出所有循环。

步骤2:执行完外循环对应的语句块后,执行内循环。

步骤3:判断内循环的条件,如果为真,执行内循环对应的语句块。当内循环条件不满足时,结束内循环。继续执行外循环。

重复上述流程,直到外循环条件不满足时,跳出外循环,整个嵌套循环结束。

二、嵌套循环对应的几种情况

1、内循环和外循环互不影响

在一个循环体中嵌入另一个循环,但循环之间互不影响。

例如:

for i in range(1,10):for j in range(1,11):print("{}*{}={:2}  ".format(j,i,i*j),end="")print()程序的运行结果为:
1*1= 1  2*1= 2  3*1= 3  4*1= 4  5*1= 5  6*1= 6  7*1= 7  8*1= 8  9*1= 9  10*1=10  
1*2= 2  2*2= 4  3*2= 6  4*2= 8  5*2=10  6*2=12  7*2=14  8*2=16  9*2=18  10*2=20  
1*3= 3  2*3= 6  3*3= 9  4*3=12  5*3=15  6*3=18  7*3=21  8*3=24  9*3=27  10*3=30  
1*4= 4  2*4= 8  3*4=12  4*4=16  5*4=20  6*4=24  7*4=28  8*4=32  9*4=36  10*4=40  
1*5= 5  2*5=10  3*5=15  4*5=20  5*5=25  6*5=30  7*5=35  8*5=40  9*5=45  10*5=50  
1*6= 6  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  7*6=42  8*6=48  9*6=54  10*6=60  
1*7= 7  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  8*7=56  9*7=63  10*7=70  
1*8= 8  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  9*8=72  10*8=80  
1*9= 9  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  10*9=90  
2、外循环迭代影响内循环的条件

由于外循环迭代的改变,会导致内循环的条件发生改变。

例如:

for i in range(1,10):for j in range(1,i+1):print("{}*{}={:2}  ".format(j,i,i*j),end="")print()    程序的运行结果为:
1*1= 1  
1*2= 2  2*2= 4  
1*3= 3  2*3= 6  3*3= 9  
1*4= 4  2*4= 8  3*4=12  4*4=16  
1*5= 5  2*5=10  3*5=15  4*5=20  5*5=25  
1*6= 6  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
1*7= 7  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
1*8= 8  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
1*9= 9  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  
3、外循环迭代影响内循环的循环体

正常情况下,执行内循环时,会循环执行循环体,直到循环条件不满足,正常退出内循环。由于外循环迭代的改变,会导致循环体不会被完全执行下去,而在满足某种条件的情况下退出了内循环的执行。

例如:

for i in range(1,11):f=1for j in range(1,i+1):if i%3==0:breakf*=jif i%3!=0:print("{}!={}".format(i,f))程序的运行结果为:
1!=1  
2!=2  
4!=24  
5!=120  
7!=5040  
8!=40320  
10!=3628800
http://www.xdnf.cn/news/16686.html

相关文章:

  • 《Spring Cloud Gateway 深度剖析:从核心原理到企业级实战》
  • WAIC 2025观察:昇腾助力AI融入多元化生活场景
  • 理解Transformer解码器
  • Github 连接救星,完全合规合法,无风险!
  • 操作系统-lecture2(操作系统结构)
  • 微服务 01
  • Objective-c 初阶——异常处理(try-catch)
  • Typecho handsome新增评论区QQ,抖音,b站等表情包
  • 用FunASR轻松实现音频转SRT字幕:完整脚本与解析
  • iOS仿写 —— 计算器
  • Python 程序设计讲义(28):字符串的用法——格式化字符串
  • [leetcode] 组合总和
  • 冒泡排序算法
  • Java中什么是类加载?类加载的过程?
  • bash变量名不能有连字符
  • 【Redis实现基础的分布式锁及Lua脚本说明】
  • 爬虫逆向之瑞数五案例:某某医学院(补环境,联调)
  • Makefile 快速入门指南
  • 嵌入式第十四课!!!指针在字符数组的应用与数组指针
  • JavaWeb 入门:CSS 基础与实战详解(Java 开发者视角)
  • DataParallel (DP) DistributedDataParallel (DDP)
  • JavaWeb学习打卡18(JDBC案例详解)
  • [leetcode] 电话号码的排列组合
  • CSRF漏洞原理
  • CentOS7 安装和配置教程
  • USRP X410 X440 5G及未来通信技术的非地面网络(NTN)
  • Matplotlib(三)- 图表辅助元素
  • 经典算法题解析:从思路到实现,掌握核心编程思维
  • 天学网面试总结 —— 前端开发岗
  • Go 语言-->指针