文档章节

Python中的循环退出举例及while循环举例

枫叶云
 枫叶云
发布于 2018/11/23 07:41
字数 913
阅读 57
收藏 0

循环退出 

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

    [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

© 著作权归作者所有

枫叶云
粉丝 14
博文 49
码字总数 49020
作品 0
朝阳
私信 提问
Python中流程控制-for循环(序列/字典举例)

流程控制-for循环(序列) 循环 for循环: 语法: 举例: (例1)for用法举例 (例2)list的for循环 (例3)range()函数用法: 脚本:打印出1到10的10个数字: !/usr/bin/python (例4)print...

枫叶云
2018/11/23
9
0
剑指offer 12. 二进制中1的个数

原题 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 My solution (Wrong) 答案证明这种方案是错误的,因为 -1 的补码是32,而不是1; 而若是直接使用: 但是!上述代码在...

dby_freedom
2018/10/20
0
0
Python中的循环退出举例及while循环举例

循环退出 for循环: for else for 循环如果正常结束,都会执行else语句。 脚本1: #!/usr/bin/env python for i in xrange(10): print i else: print "main end" 结果: [root@localhost 2017......

枫叶云
2017/12/27
0
0
JS跳出循环:break,continue,return

(注意运行结果的差异!) 1. break 说明:break语句会使运行的程序立刻退出包含在最内层的循环,或者退出一个switch语句。 注意:由于它是用来退出循环或者switch语句,所以只有当它出现在这...

荆瑶
2016/11/24
3.2K
0
04、Python 系列之 python 的基础知识

版权声明:本文为博主原创文章,未经博主允许不得转载。 PS:转载请注明出处 作者:TigerChain 地址:http://www.jianshu.com/p/f77ce55bf495 本文出自 TigerChain简书 Python 系列 教程简介 1、...

TigerChain
2017/12/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

记一次项目启动报java.lang.StackOverflowError

项目是spring boot,之前没有问题,突然有一次debug方式启动的时候报这个错误。 因为其他同事没有问题,线上也没有问题,所以先排除了是代码问题。 开始以为电脑开的软件太多,然后给jvm的内存...

chro008
28分钟前
12
0
idea 2019.2免费激活码

亲测有效到2020.6 812LFWMRSH-eyJsaWNlbnNlSWQiOiI4MTJMRldNUlNIIiwibGljZW5zZWVOYW1lIjoi5q2j54mIIOaOiOadgyIsImFzc2lnbmVlTmFtZSI6IiIsImFzc2lnbmVlRW1haWwiOiIiLCJsaWNlbnNlUmVzdHJpY3Rpb......

Iverson58
35分钟前
9
0
移动APP开发中的重要注意事项

您的移动app在变化吗?如果没有,请确保遵循这些提示进行移动app开发。大多数行业的IT领导者都优先考虑劳动力和消费者的移动性。实现成功的移动app开发具有挑战性,涉及在app功能开发的基础上...

a429011717
42分钟前
6
0
Qt编写自定义控件69-代码行数统计

一、前言 代码行数统计主要用来统计项目中的所有文件的代码行数,其中包括空行、注释行、代码行,可以指定过滤拓展名,比如只想统计.cpp的文件,也可以指定文件或者指定目录进行统计。写完这...

飞扬青云
今天
12
0
驰骋工作流引擎-ccflow关于 “ 是否自动计算未来的处理人”的功能变更

关键字:流程未来节点处理人 工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流 业务背景:一个流程在启动起来后,是可以对一些节点计算出来处理人是谁,流程的走向。对于另...

孟娟
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部