1. 程式人生 > >Python中的迴圈退出舉例及while迴圈舉例

Python中的迴圈退出舉例及while迴圈舉例

迴圈退出 

for迴圈:

for iterating_var in sqquence:

    statement(s)
else:
	statement(s)

for 迴圈如果正常結束,都會執行else語句。

指令碼1:

    #!/usr/bin/env python

    for i in xrange(10):

        print i

    else:

        print "main end"

結果:

    [root@localhost 20171227]# python exit.py

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    main end

    [root@localhost 20171227]#

指令碼2:

    #!/usr/bin/env python

    import time

    for i in xrange(10):

        print i

    time.sleep(1)

    else:

        print "main end"

結果:(中途按ctrl+c中斷)

    [root@localhost 20171227]# python exit.py

    0

    1

    2

    3

    4

    ^CTraceback (most recent call last):

    File "exit.py", line 6, in <module>

    time.sleep(1)

    KeyboardInterrupt

    [root@localhost 20171227]#

指令碼3:

沒正常結束:

    #!/usr/bin/env python

    import time

    for i in xrange(10):

        print i

        if i == 5:

           break

    else:

        print "main end"

結果:

    [root@localhost 20171227]# python exit.py

    0

    1

    2

    3

    4

    5

    [[email protected] 20171227]#

指令碼4:(跳過本次迴圈continue)

    #!/usr/bin/env python

    import time

    for i in xrange(10):

        if i == 3 :

          continue

        if i == 5:

            break

        print i

    else:

        print "main end"

結果:

    [[email protected] 20171227]# python exit.py

    0

    1

    2

    4

    [[email protected] 20171227]#

指令碼5:(pass 什麼都不作)

    #!/usr/bin/env python

    import time

    for i in xrange(10):

        if i == 3 :

            continue

        elif i == 5:

            break

        elif i ==6:

           pass   #類似shell 中的:

        print i

    else:

        print "main end"

指令碼6:

    #!/usr/bin/env python

    import time

    import sys

    for i in xrange(10):

        if i == 3 :

            continue

        elif i == 5:

            continue

        elif i ==6:

            pass

        elif i ==7:

            sys.exit()

        print i

    else:

        print "main end"

    print "hahaha"

結果:

    [[email protected] 20171227]# python exit.py

    0

    1

    2

    4

    6

    [[email protected] 20171227]#

PIP顯示第三方包

    [[email protected] 20171227]# pip list

    DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.

    backports.ssl-match-hostname (3.4.0.2)

    chardet (2.2.1)

    configobj (4.7.2)

    decorator (3.4.0)

    iniparse (0.4)

    IPy (0.75)

    ipython (1.2.1)

    jsonschema (2.5.1)

    kitchen (1.1.1)

    langtable (0.0.31)

    matplotlib (1.2.0)

作業:猜數字遊戲

    系統生成一個20以內的隨機整數。

    玩家有6次機會進行猜猜看,每次猜測都有反饋(猜大了,猜小了,猜對了-結束)

    6次中,猜對了,玩家贏了。

    否則系統贏了**。**

    In [1]: import random

    In [2]: random.ran

    random.randint    random.random     random.randrange

    In [2]: random.randint(1,20)

    Out[2]: 14

    In [3]: random.randint(1,20)

    Out[3]: 6

流程控制-while舉例

while與for相對比:

    for迴圈用在有次數的迴圈上。

    while迴圈用在有條件的控制上。

while迴圈:

    while迴圈,直到表示式變為假,才退出。while迴圈,表示式是一個邏輯表示式,必須返回一個True或False

語法:

    while expression:

    statement(s)

練習指令碼如果下:

指令碼1:

    #!/usr/bin/python

    n = 0

    while 1:

        if n == 10:

            break

        print n, 'hellow'

        n +=1

結果:

    [[email protected] 20171227]# python while.py

    0 hellow

    1 hellow

    2 hellow

    3 hellow

    4 hellow

    5 hellow

    6 hellow

    7 hellow

    8 hellow

    9 hellow

    [[email protected] 20171227]# 

指令碼2:

    #!/usr/bin/python

    while 1:

        print 'hellow'

        input=raw_input("please input sth,q for exit.")

        if input == "q":

          break

結果:

    [[email protected] 20171227]# python while.py

    hellow

    please input sth,q for exit.s

    hellow

    please input sth,q for exit.3

    hellow

    please input sth,q for exit.q

    [[email protected] 20171227]#

條件 為假時也會退出:

指令碼3:

    #!/usr/bin/python

    sth=''

    while sth != 'q':

        print 'hellow'

        sth=raw_input("please input sth,q for exit.")

指令碼4:

回車後退出:

    #!/usr/bin/python

    sth=''

    while sth != 'q':

        print 'hellow'

        sth=raw_input("please input sth,q for exit.")

        if not sth:

            break

指令碼5:

    #!/usr/bin/python

    sth=''

    while sth != 'q':

        print 'hellow'

        sth=raw_input("please input sth,q for exit.")

        if not sth:

            break

        else:

            print 'world'

結果:

    [[email protected] 20171227]# python while.py

    hellow

    please input sth,q for exit.q

    world

    [[email protected] 20171227]#

指令碼6:

#!/usr/bin/python

sth=''

while sth != 'q':

    print 'hellow'

    sth=raw_input("please input sth,q for exit.")

    if not sth:

        break

    if sth == 'quit':

        continue

    print 'continue'

else:

    print 'world'

結果:   

    [[email protected] 20171227]# python while.py    

    hellow

    please input sth,q for exit.ss

    continue

    hellow

    please input sth,q for exit.df

    continue

    hellow

    please input sth,q for exit.quit

    hellow

    please input sth,q for exit.q

    continue

    world