Python的for循环退出

for
else
for循环如果正常结束,才会执行else语句。

我们写一个for...else类型的语句如下:

#!/usr/local/python3/bin/python

for i in range(10):
    print(i)
else:
    print(‘main end‘)

运行之后我们会发现,在这种情况下,else后面的内容还是执行了:

[[email protected] ~]# python forE.py
0
1
2
3
4
5
6
7
8
9
main end

那么我们设置一个停顿,如下所示:

#!/usr/local/python3/bin/python

import time
for i in range(10):
    print(i)
    time.sleep(1)
else:
    print(‘main end‘)

运行的时候我们使用“ctrl+c”退出,如下:

[[email protected] ~]# python forE.py
0
1
^CTraceback (most recent call last):
  File "forE.py", line 6, in <module>
    time.sleep(1)
KeyboardInterrupt
[[email protected] ~]#

从上面的结果中可以看出,程序退出之后抛出了一个异常,键盘中断,这时候else后面的内容就没有执行。

那么我们现在设置程序在某一个地方的时候退出,应该怎样做呢?现在我们设置一个当i等于5的时候,就退出循环,这时候就可以用到for循环中的break:

#!/usr/local/python3/bin/python

import time
for i in range(10):
    print(i)
    if i==5:
        break    

else:
    print(‘main end‘)

运行之后我们会发现i的值到5就不往后运行了,else的内容也没有执行:

[[email protected] ~]# python forE.py
0
1
2
3
4
5
[[email protected] ~]#

我们后面还可以加上一些内容,当i等于3的时候continue,当i等于6的时候可以写个pass,进行占位:

#!/usr/local/python3/bin/python

import time
for i in range(10):
    if i==3:
        continue         #有了continue,循环后面的语句都不会执行了
    elif i==5:
        continue
    elif ==6:
        pass                #占位
    print(i)

else:
    print(‘main end‘)

运行之后我们会发现,3和5都没有在结果中体现出来:

[[email protected] ~]# python forE.py
0
1
2
4
6
7
8
9
main end

如果我们在占位的地方写一条让整个程序退出的代码,如下所示:

#!/usr/local/python3/bin/python

import time
import sys

for i in range(10):
    if i==3:
        continue         #有了continue,循环后面的语句都不会执行了
    elif i==5:
        continue
    elif i==6:
        sys.exit()       #退出整个程序
    print(i)

else:
    print(‘main end‘)

break 退出整个循环
continue 退出当前循环,接着进入下一个循环
pass 占位
sys.exit() 退出整个脚本

原文地址:http://blog.51cto.com/shaoniana/2059745

时间: 2024-08-30 06:26:49

Python的for循环退出的相关文章

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

循环退出 for循环: for else for 循环如果正常结束,都会执行else语句. 脚本1: #!/usr/bin/env python for i in xrange(10): print i else: print "main end" 结果: [[email protected] 20171227]# python exit.py 0 1 2 3 4 5 6 7 8 9 main end [[email protected] 20171227]# 脚本2: #!/usr/

python中的for循环对象和循环退出

流程控制-if条件 ? 判断条件,1位true,0是flesh,成立时true,不成立flesh,not取反 if ?1; ? ? ?print 'hello python' ? ?print 'true' ? not取反,匹配取反,表示取非1大于2的正确关系,也就是说取1大于2的不正确证明的结果 if ? not 1 > 2 and ?1 == 1; ? ? ? ? ?print 'hello python' ? ? print 'true' if ?1 > 2; ? ?print 'hel

python中列表删除和多重循环退出

在学习python的时候,会有一些梗非常不适应,在此列举列表删除和多重循环退出的例子: 列表删除里面的坑 比如我们有一个列表里面有很多相同的值,假如:nums=[1,6,6,3,6,2,10,2,100],我想去掉6,可以这样写: nums=[1,6,6,3,6,2,10,2,100] for n in nums: if n==6: nums.remove(n) nums.sort() print(nums)#输出结果:[1, 2, 2, 3, 6, 10, 100] 排序显示后列表中还有一个6

python基础之循环结构以及列表

python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成开发环境(IDE,Integrated Development Environment ) 常用的编程语言IDE开发工具有如下一些: VIM #经典的linux下的文本编辑器 Emacs #linux 文本编辑器, 比vim更容易使用 Eclipse # Java IDE,支持python, c ,

Python 基础之循环

循环 要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+10000,直接写表达式就不可能了. 为了让计算机能计算成千上万次的重复运算,我们就需要循环语句. Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子: names = ['Michael', 'Bob', 'Tracy'] for name in names: prin

Python for &while 循环

1        循环 1.1   For in循环 [[email protected] python]# cat for.py #!/usr/bin/python # -*- coding:utf-8 -*- list=[1,2,3,4,5] for i in list: print(i) list=(1,2,3,4,[3,4],(3,4)) for i in list: print(i) [[email protected] python]# python !$ python for.py

Python之 for循环\while循环

list或tuple可以表示一个有序集合.如果我们想依次访问一个list中的每一个元素呢?比如 list: L = ['Adam', 'Lisa', 'Bart'] print L[0] print L[1] print L[2] 如果list只包含几个元素,这样写还行,如果list包含1万个元素,我们就不可能写1万行print. 这时,循环就派上用场了. Python的 for 循环就可以依次把list或tuple的每个元素迭代出来: L = ['Adam', 'Lisa', 'Bart']

重学Python - Day 03 - python基础 -&gt; while循环实例 + Continue &amp;&amp; break的应用 + 列表的初步学习

while语句的应用 实例如下: 1 """ 2 述求:用户登录系统,最多只能登录三次 3 第三次失败后,程序终止 4 5 """ 6 user_table = {"python":"important","java":"more_important","shell":"linux"} 7 time = 1 8 9 while

复习 if条件 for序列 for字典 循环退出 while

if 条件 if 语法 - if expression statement(s) 注意:python 使用缩进作为其语句的分组方法,建议使用4个空格 if not 1 > 2 and 1 == 1:     print 'hello python'     print 'True' 这个例子中,逻辑非的优先级比较高 先执行: not 1 > 2 在执行: 1==1 if 10 < 2:     print 'hello python'     print 'True' else: