Python中的循环退出举例及while

2023-01-31 02:01:03 循环 退出 举例

循环退出 

for循环:

for

else

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

    [root@localhost 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"

结果:

    [root@localhost 20171227]# python exit.py

    0

    1

    2

    4

    [root@localhost 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"

结果:

    [root@localhost 20171227]# python exit.py

    0

    1

    2

    4

    6

    [root@localhost 20171227]#


PIP显示第三方包

    [root@localhost 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

结果:

    [root@localhost 20171227]# python while.py

    0 hellow

    1 hellow

    2 hellow

    3 hellow

    4 hellow

    5 hellow

    6 hellow

    7 hellow

    8 hellow

    9 hellow

    [root@localhost 20171227]# 


脚本2:

    #!/usr/bin/python

    while 1:

        print 'hellow'

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

        if input == "q":

          break

结果:

    [root@localhost 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

    [root@localhost 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'

结果:

    [root@localhost 20171227]# python while.py

    hellow

    please input sth,q for exit.q

    world

    [root@localhost 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'


结果:   

    [root@localhost 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

    

相关文章