Python日志之Python控制流(顺

发布时间:2019-06-25 09:57:28编辑:auto阅读(1335)

    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


关键字