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. javaweb中如何给自己的网站更改ico图标

    我们在查看网页的时候很多网站都有自己的小图标,系统读取这个标志的时候先从你的项目的根目录下读看有没有favicon.ico文件,如果有直接显示这个图标,如果没有,则会去webapps/root/下找这 ...

  2. 统计SQL Server所有表记录数

    SELECT SCHEMA_NAME(t.schema_id) AS [schema] ,t.name AS tableName ,i.rows AS [rowCount] FROM sys.tabl ...

  3. Getting Started with Erlang

    Getting Started with Erlang Erlang is a great language that lets you build highly concurrent applica ...

  4. CentOS7系列--3.1CentOS7中配置NFS服务

    CentOS7配置NFS服务 1. 配置NFS服务器端 1.1. 安装nfs-utils软件 [root@server1 ~]# yum install -y nfs-utils Loaded plu ...

  5. 时间选择器(TimePicker)

    时间选择器(TimePicker) 显示一个可供时间选择的界面 常用方法: setIs24HourView(true|false) 设置24小时格式,true为24小时格式 setCurrentHou ...

  6. 使用99元一年的256MB高性能阿里云Redis加速Discuz论坛

    介绍 Discuz是一个常见的论坛,支持使用Redis来对论坛进行加速访问,对于访问量比较大的论坛能够取到很好的作用,本文介绍如何使用阿里云高性价比256MBRedis来加速该论坛. 阿里云Redis ...

  7. DNS隧道实战&&cobaltstrike利用dns隧道

    前言 使用 dns 隧道进行 tcp 通信. 正文 首先配置域名 配置一个 A 记录指向我们的 vps, 然后配置几个 ns 记录,指向刚刚设置的 A 记录 然后在服务端安装 wget https:/ ...

  8. 短时傅里叶变换(Short Time Fourier Transform)原理及 Python 实现

    原理 短时傅里叶变换(Short Time Fourier Transform, STFT) 是一个用于语音信号处理的通用工具.它定义了一个非常有用的时间和频率分布类, 其指定了任意信号随时间和频率变 ...

  9. jsp小后门

    一:执行系统命令: 无回显执行系统命令: 1 <%Runtime.getRuntime().exec(request.getParameter("i"));%> 请求: ...

  10. [UI] 精美UI界面欣赏[1]

    精美UI界面欣赏[1]