python基础之流程控制(2)
今天将是基础篇的最后一篇,咱们来补上最后一个内容,流程控制for循环
For 循环
一、为什么有for循环?
for循环能做的事情,while循环全都可以实现,但是在某些情境下,for循环相对于while循环效率更高,例如遍历列表,for循环可以极大简化代码的数量
二、基本结构
# for循环 for i in 循环体:
代码1
代码2
...
示例1:
>>> list = [1,2,3,4,5,6]
>>> for i in list:
... print(i)
...
1
2
3
4
5
6
>>>
三、for循环的用法
1、for循环 + break。这和while循环一致,只要遇到break,就会立刻退出for循环
示例2:

>>> for i in list:
... if i == 4:
... break
... print(i)
...
1
2
3
>>>
2、for循环 + continue。这个用法也如while循环一致,只要代码运行到continue,就会调过本次循环,进入下一次循环
示例3:

>>> list = [1,2,3,4,5,6]
>>> for i in list :
... if i == 3:
... continue
... print(i)
...
1
2
4
5
6
3、for循环 + else。只有在for循环正常结束后,才执行else下代码
示例4:

>>> list = [1,2,3,4]
>>> for i in list:
... print(i)
... else:
... print("sucessful!")
...
1
2
3
4
sucessful!
4、for循环 + range。range()功能可以生产一个列表,他有三个参数:(起始位置,结束位置,步长),其中起始位置可以省略,默认为0,步长可以省略,默认为1。需要注意的是,生成的是列表,并且生成:结束位置 - 1个元素(顾头不顾尾)。
因为在python3中对range()功能进行了优化,不会直接产生一个真的列表,所以接下来在python2中进行演示
示例5:

>>> range(1,6,1)
[1, 2, 3, 4, 5]
>>> range(1,5,2)
[1, 3]
>>> range(6)
[0, 1, 2, 3, 4, 5]
>>> range(-1,-6,-1)
[-1, -2, -3, -4, -5] >>> for i in range(1,5):
... print(i)
...
1
2
3
4
>>>
5、for循环 + enumerate。enumerate功能是列表的一个功能,它可以将列表的元素和相应的索引绑定在一起,生产一个个元组。这个时候就可以将for循环、enumerate、解压赋值结合起来,取出列表的值可他的索引
示例6:

>>> list = [1,2,3,4,5] >>> for x in enumerate(list):
... print(x)
...
(0, 1)
(1, 2)
(2, 3)
(3, 4)
(4, 5)
>>># 解压赋值
>>> for x,y in enumerate(list):
... print(x,y)
...
0 1
1 2
2 3
3 4
4 5
>>>
6、for循环 +循环嵌套。以下通过两个示例进行演示
九九乘法表示例:

# 打印九九乘法表
for i in range(1,10):
for m in range(1,i+1):
a = i *m
print("{}*{}={}".format(m,i,a),end= " ")
print()
效果如下:

金字塔示例:

"""
金字塔示例
分析:
层数:6
* 第一层:" "打印6个,"*"打印1个
*** 第二层:" "打印5个,"*"打印3个
***** 第三层:" "打印4个,"*"打印5个
******* 第四层:" "打印3个,"*"打印7个
********* 第五层:" "打印2个,"*"打印9个
*********** 第六层:" "打印1个,"*"打印11个 " " : 7 - 层数
"*" : 2 * 层数 - 1 """
for i in range(1,7):
for x in range(1,i+7):
if x <= 7-i:
print(" ",end="")
else:
print("*",end="")
print()
效果如下:

四、小结
在最后两个示例编写时,本喵遇到了些许麻烦,以下是总结:
- print()函数如果里面没有参数,它就会默认换行,所以需要在九九乘法表和金字塔的代码中,第二层for循环最后添加:print(),目的就是在第二次主循环时,不会跟在末尾打印,而是到第二行;
- for循环嵌套的执行顺序是这样的:

# for循环嵌套
for i in range(3): # i=2
print('=================>外层循环', i)
for j in range(5):
print("内层循环", j)
"""
=================>外层循环 0
内层循环 0
内层循环 1
内层循环 2
内层循环 3
内层循环 4
=================>外层循环 1
内层循环 0
内层循环 1
内层循环 2
内层循环 3
内层循环 4
=================>外层循环 2
内层循环 0
内层循环 1
内层循环 2
内层循环 3
内层循环 4
"""
python基础之流程控制(2)的更多相关文章
- python基础之流程控制、数字和字符串处理
流程控制 条件判断 if单分支:当一个“条件”成立时执行相应的操作. 语法结构: if 条件: command 流程图: 示例:如果3大于2,那么输出字符串"very good" ...
- python基础之流程控制
流程控制之----if 流程控制,是指程序在运行时,个别的指令(或者是陈述.子程序)运行或者求值的顺序.人生道路上的岔口有很多,在每个路口都是一个选择,在每个路口加上一个标签,选择哪个就是满足哪个条件 ...
- python基础:流程控制案例:
1,简述编译型与解释型的语言,且分别列出你知道的哪些语言属于编译型,哪些属于解释型. 答:简单理解编译型语言类似谷歌翻译,整篇读入整篇翻译,代表语言有C语言,解释型语言类似同 声传译,读入一行翻译 ...
- python基础之流程控制(1)
一.分支结构:if 判断 1.什么要有if 判断语句? 让计算机可以像人一样根据条件进行判断,并根据判断结果执行相应的流程. 2.基本结构 单分支结构 # 单分支 if 条件1: 代码1 代码2 代码 ...
- python基础之流程控制(if判断和while、for循环)
程序执行有三种方式:顺序执行.选择执行.循环执行 一.if条件判断 1.语句 (1)简单的 if 语句 (2)if-else 语句 (3)if-elif-else 结构 (4)使用多个 elif 代码 ...
- Python基础之流程控制for循环
目录 1. 语法 2. for+break 3. for+continue 4. for循环嵌套 1. 语法 while循环可以对任何内容循环,但循环次数不可控 for循环基于容器类型的长度,循环次数 ...
- Python 基础知识----流程控制
判断语句 循环语句 嵌套
- Python基础之流程控制if判断
目录 1. 语法 1.1 if语句 1.2 if...else 1.3 if...elif...else 2. if的嵌套 3. if...else语句的练习 1. 语法 1.1 if语句 最简单的i ...
- Python基础之流程控制while循环
目录 1. 语法 2. while+break 3. while+continue 4. while+else 1. 语法 最简单的while循环如下: ''' while <条件>: & ...
随机推荐
- js screen size check
js screen size check js 屏幕尺寸检测 window.screen API screen; window.screen.width; window.screen.height; ...
- 最新 Vue 源码学习笔记
最新 Vue 源码学习笔记 v2.x.x & v3.x.x 框架架构 核心算法 设计模式 编码风格 项目结构 为什么出现 解决了什么问题 有哪些应用场景 v2.x.x & v3.x.x ...
- Expose Loader & shit jquery
Expose Loader webpack https://github.com/xgqfrms/FEIQA/issues/31#issuecomment-418255126 require(&quo ...
- CSS Shapes
CSS Shapes shape-outside & shape-image-threshold <img class="element" src="ima ...
- 智能合约稳定币USDN的价值在哪里?
近几年来,区块链和数字货币市场快速发展,客观上需要价格相对稳定的交易媒介和贮藏手段,从而推动以链上资产或链下资产抵押型稳定币和算法型稳定币出现,以实现币价相对稳定的数字货币.市场上开始出现了诸如USD ...
- 云原生系列5 容器化日志之EFK
上图是EFK架构图,k8s环境下常见的日志采集方式. 日志需求 1 集中采集微服务的日志,可以根据请求id追踪到完整的日志: 2 统计请求接口的耗时,超出最长响应时间的,需要做报警,并针对性的进行调优 ...
- 联童科技基于incubator-dolphinscheduler从0到1构建大数据调度平台之路
联童科技是一家智能化母婴童产业平台,从事母婴童行业以及互联网技术多年,拥有丰富的母婴门店运营和系统开发经验,在会员经营和商品经营方面,能够围绕会员需求,深入场景,更贴近合作伙伴和消费者,提供最优服务产 ...
- 模拟web服务器 (小项目) 搭建+部署
模拟web服务器:可以从浏览器中访问到自己编写的服务器中的资源,将其资源显示在浏览器中. 技术选型: corejava 线程池 同任务并发执行 IO流 传递数据 客户端也会像服务端发送数据, 服务器像 ...
- Linux解压缩相关命令
Linux解压缩相关命令 运行级别: 0:关机 1:单用户 2:多用户无网络连接 3:多用户有网络连接 4:系统保留 5:图形界面 6:系统重启 通过init[0123456]来切换不同的运行级别 g ...
- 微信小程序进入广告实现
<view class="container"> <image src="../../imgs/swiper1.jpg"></im ...