您的位置:首页 > 编程语言 > Python开发

Python日志之Python控制流

2015-07-20 14:32 477 查看
Python控制流:

所有程序都是在IDLE中运行

1.Python的三种控制流

(1).什么是控制流

Python中程序代码执行是有序的,有的代码程序会从上倒下按顺序执行,有的程序会跳转着执行,有的程序代码会选择不同的分支去执行,有的程序代码会循环的去执行。那么到底什么样的程序会自上而下执行,哪些会选择分支执行,什么样的可以循环执行呢?在Python中是有相应的控制语句进行标识的,控制语句他能控制某些代码段的执行方式,我们把这些不同功能的控制语句称为控制流

(2).Python里面有哪些控制流

实例:

控制流功能

要实现:重复执行3段同样的程序

方式一:

i=0

print i

i=i+1

print i

i=0

print i

i=i+1

print i

i=0

print i

i=i+1

print i

自上而下运行

方式二:

for k in range(0,3): #重复语句

i=0

print i

i=i+1

print i

输出结果:

0

1

0

1

0

1

再比如,要实现:如果小明吃了饭了,输出小明很乖,如果小明没吃饭,输出小明不乖的功能。

平常情况按顺序执行的话,无法实现这样的功能,我们可以用控制流中的分支结构

xiaoming=”eat”

if xiaoming==”eat”:

print “小明很乖”

else:

print “小明不乖”

输出结果:

小明很乖

控制流的类型

控制流的类型有三种,一种是顺序结构,一种是分支结构,一种是循环结构

顺序结构:

a=7

print a

a=a-1

print a

a=a+6

print a

输出结果:

7

6

12

分支结构:

a=7

if a==8:

print “She”

else:

print “He”

输出结果:

He

循环结构:

a=7 #不为0则为真

while a: #当a为真时一直执行

print “helloo”

a=a-1 #a=0时停止循环

输出结果:

helloo

helloo

helloo

helloo

helloo

helloo

helloo

2.认识分支结构-if

(1).认识if语句

Python中if语句是用来判断选择执行那个语句块的,下面我们通过实例认识if语句

实例:

if语句

if语句的格式用法:

if 是这样:

执行该部分语句

elif 或者是这样:

执行elif部分语句

else 或者以上情况都不是:

执行该部分语句

(2).if语句使用实例:

一种情况的if用法

a=8

if a==8: #这里的等号注意是==

print “hello”

输出结果:

hello

a=8

if a!=8:

print “hehe”

输出结果:

>

>

不执行

两种选择情况下的if用法

a=8

if a==8:

print “She”

else:

print “He”

输出结果:

She

三种选择情况下的if用法

a=5

if a==7:

print “I”

elif a>7:

print “he”

elif a<6:

print “hello”

else:

print “she”

输出结果:

hello

if语句使用要点

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

”’

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

90<=成绩<=100为优。

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

”’

临界点不重复

a=80

if 80

输出结果:



3.认识循环结构while

(1).什么是while语句

Python中的while语句也是用来控制一段语句重复执行的

while语句使用结构

”’

while 条件为真:

循环执行“该部分语句”直到条件不满足真

else:

如果条件为假,执行该部分语句

else部分可以省略

”’

(2).while语句的使用

两个简单的while语句实例

第一个是最简单没有else部分的

a=True

while a:

print “ABC”

输出结果:

无限个ABC

第二个是有else部分的

b=False

while b:

print “ABC”#循环部分,为真一直循环

else:

print “DEF”#else部分不循环,运行一次就终止了

输出结果:

DEF

我们再来看一下比较复杂一点的有嵌套的while语句

a=1

while a<10:

if a<=5: #循环部分,通过if分支选择

print a

else:

print “hello”

a=a+1 #循环部分,通过if分支选择

else:

print “test”

输出结果:

1

2

3

4

5

hello

hello

hello

hello

test

总结:可以利用缩进位置来判断前后的一致性,如上面出现的两个else的位置不同,对应的结构也不同

4.认识循环结构的for语句

(1).什么是for语句

另外一种形式的循环语句,可用来遍历某一对象,还具有一个附带的可选的else块,主要用于处理for语句中包含的break语句。如果for循环未被break终止,则执行else块中的语句。

break 在需要时终止for循环,continue 跳过位于其后的语句,开始下一轮循环。

for语句的格式如下:

for in <对象集合>:

if <条件>:

(break)

if <条件>:

(continue)

<其他语句>

else:

<>


(2).for语句的使用

for语句

”’

for语句格式:

for i in 集合:

执行该部分

else:

执行该部分

”’

实例:

第一个for语句

for i in [1,2,8,9,0]:

print i

输出结果:

1

2

8

9

0

学会使用range函数,第二个for语句,生成一个集合序列,从头到尾

for i in range(1,7): #range的集合是从1到n-1,不包括末尾

print “hello”

输出结果:

6个hello,而不是7个

for i in range(1,10,3):#(1,10,3)从1到10,3为步长,就是隔得数字大小,默认为1

print i #就是取1,4,7,取不到末尾

输出结果:

1

4

7

最后看一个带嵌套的for语句

for i in range(1,10):#循环9次

if i%2==0:

print i

print “偶数”

else:

print i

print “奇数”

输出结果:

1

奇数

2

偶数

3

奇数

4

偶数

5

奇数

6

偶数

7

奇数

8

偶数

9

奇数

5.Break语句

功能:打破程序的执行,常用语循环结构,当循环结构中出现break时应该强行停止中止循环,然后退出循环

(1).Break语句的使用

break语句用法

break语句是强制停止循环执行的意思,break语句用在循环语句中,出现break的地方将直接停止该循环地执行。

break语句用在while循环中

a=1

while a:

print a

a=a+1 #循环体

if a==10:

break #没有break的话就会陷入死循环

输出结果:

从1到9,当a=9时就break

break语句在for循环中

for i in range(5,9):

print i

if i>6:

break#当达到break条件的时候,当前条件仍会执行一次,然后再停止

输出结果:

5,6

break语句在双层循环语句中

a=10

while a<=12: #外循环

a=a+1

for i in range(1,7):

print i #内循环

if i==5:

break

输出结果:

内循环被外循环重复三次:a=10,a=11,a=12

重复三次i:1,2,3,4,5

a=10

while a<=12:

a=a+1

for i in range(1,7):

print i

if i==5:

break

if a==11:#a=11就停止了

break

输出结果:

1

2

3

4

5

6.continue语句

(1).什么是continue语句

强行停止了这次循环的这一次执行,直接跳到下一次,也就是停止这一次,执行下一次

不像Break直接停止之后的所有循环

(2).continue语句的使用方法

continue语句的使用

”’

continue语句是放在循环语句中的,用来结束本次循环的语句。

”’

continue语句在while循环中

首先我们得知道循环是分很多次的,而continue语句是终止该次循环,而不是终止该循环。

a=1

while a<7:

a=a+1

if a==3:

continue

print a

输出结果:

2

4

5

6

continue语句在for循环中,并比较以下两个程序a和程序b

程序a

for i in range(1,7):

if i==3:

continue

print i

输出结果:

1

2

4

5

6

程序b

for i in range(1,7):

print i

if i==3:

continue

输出结果:

1

2

3

4

5

6

continue语句在双层循环语句中

a=1

while a<7:

a=a+1

if a==4: #a=1,a=2,a=3,a=5,a=6

continue

for i in range(7,10):

if i==9:

continue

print i

输出结果:

输出5次7,8

(3).Break语句和Continue语句的区别

continue语句与break语句的区别

”’

continue语句指的是结束执行本次循环中剩余的语句,然后继续下一轮的循环。

而break语句指的是直接结束这个循环,包括结束执行该循环地剩余的所有次循环。

”’

区分程序c和程序d

程序c

for i in range(10,19):

if i==15:

continue

print i

输出结果:

10,11,12,13,14,16,17,18

程序d

for i in range(10,19):

if i==15:

break

print i

输出结果:

10,11,12,13,14,15
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息