for语句嵌套执行顺序_Part21:控制流(分支if、循环while/for,break/continue/列表生成式)...

024567f9b3b6d30beb1b97978bfdcc42.png

一、什么是Python控制流?

在Python中通常的情况下程序的执行是从上往下执行的,而某些时候我们为了改变程序的执行顺序,故而使用控制流语句控制程序怎么执行。

二、Python控制流有哪些类型?

在Python中,有三种 控制流类型,

第一种是顺序结构,就是指按顺序执行的结构,

第二种是分支结构,

第 三种是循环结构。

1.顺序结构:

adbca71b8ea7fc60c56c53e0da7ad9e2.png
顺序结构

2.分支结构if

if结构基本语法

(1)只有一种选择if

a824fe069d95760844702421abdfc77e.png

(2)有两种选择if .. else ...

27cf0d298c89adb117179bf09f8c070c.png

(3)有两种以上的选择elif来添加条件if ...elif....else...

6e173bfdbb3dcf20bad5ae56ba15b0bd.png

if语句要点:“各分支尽量不重复,并且尽量包含全部可能性”

比如我们要按成绩高低分为优良差,比如这样划分的条件是比较合理的0<=成绩<80为差,80<=成绩<90为良,90<=成绩<=100为优。

而这样划分的条件是不合理的:

1)0<成绩<=80为差,80<=成绩<90为良,90<=成绩<100。80重合了;

2)0<成绩<80为差,80<成绩<90为良,90<=成绩<100。比如如果一个人成绩是0分、100分、80分、90分这种临界条件的时候就没办法判断执行哪部分语句了。

3.循环结构while...(else...)

while 条件为真:
    循环执行“该部分语句
    执行该部分语句
    执行该部分语句”
else:
    如果条件为假,执行该部分语句

其中else语句可以省略。

be1a506cef24518e3a0d6fa279eda98c.png

2fdc145dc36a0adc35afbb45cfa6b3e4.png

f4b0d312b0dadc7aa048d1a0a4d4a6fe.png

4.循环结构for

for语句格式:
for i in 集合:
    执行该部分
else:
    执行该部分

daaf2aecf31c91eda7ee19627161dc30.png

(2)for与range函数的使用

python range() 函数可创建一个整数列表,一般用在 for 循环中。

函数语法

range(start, stop[, step])

参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

8de723663b079332de182d55dbd935fb.png

(3)for经常与Python中的迭代器一起使用

什么是“迭代器”?

迭代是Python最强大的功能之一,是访问集合元素的一种方式。
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
字符串,列表或元组对象都可用于创建迭代器:

列表迭代器 
list=[1,2,3,4]
it = iter(list)    # 创建迭代器对象
for x in it:
    print (x, end=" ")

15503decf5d0622549358684a0d638ed.png

9e7e5d53e1214ce9a8b8c7c9da620c0a.png

(4)带嵌套的for语句

d5b7dd02602dc3ddf86adf1c96d332e9.png

三.Break语句

Break语句的功能正如其名字一样,是用来打破(Break)程序的执行的。Break语句常用于循环结构中,在循环结构中出现Break语句的时候,能将该循环强制停止,然后退出该循环。

(1)break语句用在while循环中

9f3f8e64e6ab2c1bddaeb02179c39f1c.png

(2)break语句在for循环中

677d09a2613b85c0816c1139a7a61b31.png

(3)break语句在双层循环语句中

ba7be06d1ce7b1bb50be5969e24c25fd.png

8369f23319504ca64646b8211aec8cd9.png

四、Continue语句

Continue语句的功能是强制停止循环中的这一次执行,直接跳到下一次执行。

(1)continue在while循环中

ee4dea422dd223f637bbccce6a7b9dda.png

(1)continue在for循环中

63eb2ae79fce6000ddecc421a87b69fe.png

8de053d2c4617db88efa65ccff59b763.png

(3)continue语句在双层循环语句中

034ecb68ddc892660102b2dcdea17ccf.png

(4)continue和break区别:

break是停止循环,continue是停止这次执行直接进行下一次循环

ad2dd688eb85a4d51c92fe2a186f0455.png

c036fe0d01a8654ff9e3949cc706a323.png

五、列表生成式

列表生成式是快速生成一个列表的一些公式

1.在列表中存放0~100的数:

普通的列表生成:

numbers=[] 
for x in range(0,101): 
 numbers.append(x) 
print(numbers) 

用列表生成式生成列表:[要放入列表的数据 简单的表达式1 表达式2]

#x for x in range(0,101) for循环遍历出来的值,放入列表中 

numbers=[x for x in range(0,101)] 
print(numbers)  

cb617939d1248cfad8ff581a2a5eaebd.png

2.列表中存放0~100的偶数:

普通方法生成列表:

numbers

0c89658adcef3121678eb0d1ae9a0485.png

用列表生成式生成列表:

#for循环遍历0~101的数字,如果数字对2取余==0,表示是偶数,x放在列表中 
numbers=[x for x in range(0,101)if x%2==0] 
print(numbers)  

313060b978ad6a0888ae5a040631d5df.png

3.找出列表list1=['asd','adf','dafg','acbo']带有a的字符

普通写法:

rs_list=[] 
for s in list1: 
 if 'a' in s: 
 rs_list.append(s) 
print(rs_list)

4aaba8ed29a73824c649a41b1b38fe6a.png

列表生成式:

list1=['asd','adf','dafg','acbo']
list2=[x for x in list1 if 'a' in x] 
print list2

10bc62fd9aec83a9636ee616c5f10ab7.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值