while循环中的break、continue和else

break:直接结束当前循环然后跳到下面的语句。break之后在循环外
continue:结束本次循环,跳到下次循环。continue之后依然还在循环内
else:这是while循环所特有,当循环结束之后所执行的语句,如果while循环在中途被break打断,那么则不执行,或者while循环直接不执行,那么也会打印else下面的语句。注意else不能够单独存在。

1.使用break打印1到100

#!/usr/bin/env python
#encoding: utf-8
num = 1
while True:
    print num
    num +=1
    if num == 101:   #num等于100的时候跳出循环,结束了.

 

2.使用continue打印出1 2 3 4 5 6 8 9 10

#!/usr/bin/env python
#encoding: utf-8
num =0
while num < 10:
    num +=1
    if num == 7:
        print
        continue
    print num  #这个print必须放在continue的下面,不然就没有任何意义。

还一种写法,也许会理解起来更加清晰和明确。

#!/usr/bin/env python
#encoding: utf-8
num = 1
while num < 10:
    num +=1
    if num ==7:      #要么是7,要么不是7,就这两种选择
        print
        continue
    else:
        print num

 

3.打印1到10

#!/usr/bin/env python
#encoding: utf-8
num = 1
while num <= 5:
    print num
    num +=1
else:
    print "不错!"
print '-------这是下一个语句-------'

结果:

[root@7 10-19]# python 4.py
1
2
3
4
5
不错!
-------这是下一个语句-------

如果中途while被break打断:

#!/usr/bin/env python
#encoding: utf-8
num = 1
while num <= 5:
    print num
    num +=1
    if num == 3:
        break
else:
    print "不错!"
print '-------这是下一个语句-------'

结果是这样的:

[root@7 10-19]# python 4.py
1
2                                           #else也没有执行。
-------这是下一个语句-------


其实不执行while下面的语句,else也能执行:

#!/usr/bin/env python
#encoding: utf-8
num = 1
while False:
    print num
    num +=1
else:
    print "不错!"
print '-------这是下一个语句-------'

结果:

[root@7 10-19]# python 4.py
不错!                                #else被执行了
-------这是下一个语句-------

但是else绝对不能单独存在,否则会出现语法错误。

 

最后再演示一下,break之后在循环外,continue之后在循环内。

 

posted @ 2017-10-19 14:11  明王不动心  阅读(3904)  评论(0编辑  收藏  举报