2.嵌套循环:

概念:循环中再定义循环,称为嵌套循环;

【注意】嵌套循环可能有多层,但是一般我们实际开发最多两层就可以搞定了(99%的情况)

格式:

1).while中套while常用

2).while中套forin

3).forin中套while

4).forin中套forin更常用

演示forin...forin:

格式如下:

for i in 容器对象:

语句块1

for j in 容器对象:

语句块2

执行流程:

模拟数据:
r1 = range(1,3)

r2 = range(1,3)

for i in r1:

print('我是外层循环...')

for j in r1:

print('我是内层循环...')

print("i=%d,j=%d" %(i,j))
先执行外层循环,将r1中的1给到i,然后执行外层循环体,

打印完'我是外层循环...',遇到了内层循环,执行它,将r2中的1给到j,然后执行内层循环体,

打印完'我是内层循环...',再打印i=1,j=1,意味着内层循环的第一次结束了,

进行第二次,...(i=1,j=2),内层循环结束了,外层循环开始迭代,将r1中的2给到i,以此类推...

总结:

1).外层循环执行一次,内层循环全部执行一遍

2).如果外层循环需要执行m次,内层循环需要执行n次,嵌套循环一共会执行m*n次

案例一:
#演示嵌套循环的使用:
r1=range(1,3)
r2=range(1,3)
for i in r1:
print('我是外层循环...')
for j in r2:
print('我是内层循环...')
print('i=%d,j=%d' %(i,j))
案例二:
使用嵌套循环打印各种图形:
图形一:
*****
*****
*****
*****
*****
for i in range(1,6): #外层循环控制行数
for j in range(1,6): #内层循环控制每一行打印的次数
print('*',end='')
#此处的print()的作用仅仅是为了换行
print()
图形二:
*
**
***
****
*****
for i in range(1,6):
for j in range(1,i+1):
print('*',end='')
# 此处的print()的作用仅仅是为了换行
print()

python第十三课——嵌套循环的更多相关文章

  1. python六十三课——高阶函数之sorted

    演示sorted函数的使用,以及和sort的区别:我们将sorted和sort进行一番比较:相同点:它们都是来实现排序的操作(功能层面)不同点:列表中的sort函数,它执行完毕后会直接影响原本这个li ...

  2. python第二十三课——dict中的函数

    dic1 = {...} dic2 = {...} dic1.update(dic2) 1.update(dict):dic1调用update传入dic2,如果dic2中的内容在dic1中不存在,那么 ...

  3. Kali Linux Web 渗透测试视频教程— 第十三课-密码破解

    Kali Linux Web 渗透测试— 第十三课-密码破解 文/玄魂 目录 Kali Linux Web 渗透测试— 第十三课-密码破解............................... ...

  4. NeHe OpenGL教程 第四十三课:FreeType库

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  5. NeHe OpenGL教程 第三十三课:TGA文件

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. NeHe OpenGL教程 第二十三课:球面映射

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  7. NeHe OpenGL教程 第十三课:图像字体

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  8. 初学 Python(十三)——匿名函数

    初学 Python(十三)--匿名函数 初学 Python,主要整理一些学习到的知识点,这次是匿名函数. # -*- coding:utf-8 -*- #关键字lambda定义的函数都是匿名函数 #做 ...

  9. Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块

    Python第十三天   django 1.6   导入模板   定义数据模型   访问数据库   GET和POST方法    SimpleCMDB项目   urllib模块   urllib2模块 ...

随机推荐

  1. vb.net的String类型和Bytes转换(C#也适用)

    1.Bytes---->StringSystem.Text.Encoding.Unicode.GetString(bytes, 0, bytes.Length) 2.String----> ...

  2. 热更新--动态加载framework

    1.准备工作:先自己封装一个framework:http://www.cnblogs.com/sunjianfei/p/5781863.html 2.把封装好的framework压缩成zip,放到本地 ...

  3. 啰里吧嗦式讲解java静态代理动态代理模式

    一.为啥写这个 文章写的比较啰嗦,有些东西可以不看,因为想看懂框架, 想了解SSH或者SSM框架的设计原理和设计思路, 又去重新看了一遍反射和注解, 然后看别人的博客说想要看懂框架得先看懂设计模式,于 ...

  4. SpringBoot+Mybatis整合入门(一)

    SpringBoot+Mybatis 四步整合 第一步 添加依赖 springBoot+Mybatis相关依赖 <!--springBoot相关--> <parent> < ...

  5. 前端框架 vue 和 react 的区别

    前言:最近需要使用 react,以前用过 vue,故来总结两者的区别. 首先React与vue有几点相同之处 1.都使用了Virtual DOM 2.提供了响应式(Reactive)和组件化(Comp ...

  6. 软件架构系列一:C4模型

    本文要点预览:因为软件系统的分布式特点以及开发团队的分布性,了解软件架构的基础变得越来越重要.而在过度设计和毫无设计之间,我们应该把注意力放在对软件系统有重大影响的决策和权衡上.好的架构师应该是团队的 ...

  7. Go 中包导入声明

    Go中的程序由软件包组成.通常,软件包依赖于其他软件包,或者内置于标准库或第三方的软件包.包需要先导入才能使用其导出的标识符.本文将翻译一篇国外的文章,用于介绍包导入的原理以及几种常用的导入方式. & ...

  8. HDU1560(KB2-E IDA星)

    DNA sequence Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  9. JAVA 判断字符串是否可转化为JSONObject、JSONArray

    有时,我们需要判断字符串在转化为JSON对象或者JSONArray时,我们可以使用JSONObject.parseObject和JSONArray.parseArray,但是有时候我们需要在转化之前判 ...

  10. Jquery对于input事件的处理

    Jquery对于input事件的处理.获取此表单元素,以及其内容 .text()不能使用在表单选项上 要使用.val() input元素使用类似onblur(this),事件在function(obj ...