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<a<=100: print "好" elif 0<a<=80: print "差"
#输出结果:
差
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 <i> 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
本文出自 “8626774” 博客,请务必保留此出处http://8636774.blog.51cto.com/8626774/1676357
原文地址:http://8636774.blog.51cto.com/8626774/1676357