今天将是基础篇的最后一篇,咱们来补上最后一个内容,流程控制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)的更多相关文章

  1. python基础之流程控制、数字和字符串处理

    流程控制 条件判断 if单分支:当一个“条件”成立时执行相应的操作. 语法结构: if 条件: command 流程图: 示例:如果3大于2,那么输出字符串"very good" ...

  2. python基础之流程控制

    流程控制之----if 流程控制,是指程序在运行时,个别的指令(或者是陈述.子程序)运行或者求值的顺序.人生道路上的岔口有很多,在每个路口都是一个选择,在每个路口加上一个标签,选择哪个就是满足哪个条件 ...

  3. python基础:流程控制案例:

    1,简述编译型与解释型的语言,且分别列出你知道的哪些语言属于编译型,哪些属于解释型. 答:简单理解编译型语言类似谷歌翻译,整篇读入整篇翻译,代表语言有C语言,解释型语言类似同   声传译,读入一行翻译 ...

  4. python基础之流程控制(1)

    一.分支结构:if 判断 1.什么要有if 判断语句? 让计算机可以像人一样根据条件进行判断,并根据判断结果执行相应的流程. 2.基本结构 单分支结构 # 单分支 if 条件1: 代码1 代码2 代码 ...

  5. python基础之流程控制(if判断和while、for循环)

    程序执行有三种方式:顺序执行.选择执行.循环执行 一.if条件判断 1.语句 (1)简单的 if 语句 (2)if-else 语句 (3)if-elif-else 结构 (4)使用多个 elif 代码 ...

  6. Python基础之流程控制for循环

    目录 1. 语法 2. for+break 3. for+continue 4. for循环嵌套 1. 语法 while循环可以对任何内容循环,但循环次数不可控 for循环基于容器类型的长度,循环次数 ...

  7. Python 基础知识----流程控制

    判断语句 循环语句 嵌套

  8. 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 ...

  9. Python基础之流程控制while循环

    目录 1. 语法 2. while+break 3. while+continue 4. while+else 1. 语法 最简单的while循环如下: ''' while <条件>: & ...

随机推荐

  1. Android 开启 WebView 页面 Chrome debug

    Android 开启 WebView 页面 Chrome debug WebView debug // 开启 WebView 页面 debug testWebView.setWebContentsDe ...

  2. React & react-native & vue & cli & environment information & report bugs

    React & react-native & vue & cli & environment information & report bugs cli che ...

  3. scroll calendar & scroll view

    scroll calendar & scroll view https://taro-docs.jd.com/taro/docs/components/viewContainer/scroll ...

  4. c++ DWORD和uintptr_t

    x86模式 DWORD 是4字节 x86模式 uintptr_t 是4字节 x64模式 DWORD 是4字节 x64模式 uintptr_t 是8字节 std::cout << sizeo ...

  5. 智能合约稳定币USDN的价值在哪里?

    近几年来,区块链和数字货币市场快速发展,客观上需要价格相对稳定的交易媒介和贮藏手段,从而推动以链上资产或链下资产抵押型稳定币和算法型稳定币出现,以实现币价相对稳定的数字货币.市场上开始出现了诸如USD ...

  6. PAA房产智慧社区:解决社区管理服务的痛点难点

    社区,是社交与生活的舞台,更是家的延伸.社区之所有能够有所创新发展,得益于借助数字化和智能化.智能化给社区带来的便利体现在社区门禁可以人脸识别:AI的摄像头可以自动捕获异常的现象,便于社区管理员第一时 ...

  7. app启动速度怎么提升?

    简介: APP 启动速度的重要性不言而喻.高德地图是一个有着上亿用户的超级 APP,本文从唤端技术.H5 启动页.下载速度.APP加载.线程调度和任务编排等方面,详解相关技术原理和实现方案,分享高德在 ...

  8. 超详细Openstack核心组件——nova部署

    目录 OpenStack-nova组件部署 nova组件部署位置 计算节点Nova服务配置(CT配置) 计算节点配置Nova服务-c1节点配置 计算节点-c2(与c1相同)(除了IP地址) contr ...

  9. 关于MacBook Air/Pro 外接显示器时,显示器黑屏无反应的解决方法,顺便求助M1芯片的mac 外接显示器如何开启Hidpi

    显示器黑屏,无反应,频繁闪烁的原因 先说结论,直接换type-c转DP的显示器连接线吧,如果显示器不支持dp接口,那自求多福吧. 事情是这样的,m1版本的macbook air 刚发布就马上入手了一台 ...

  10. 后端程序员之路 47、Hadoop hdfs

    Hadoop的核心是HDFS和MapReduce,而两者只是理论基础,不是具体可使用的高级应用,Hadoop旗下有很多经典子项目,比如HBase.Hive等,这些都是基于HDFS和MapReduce发 ...