while循环中的breakcontinue和else

Posted 明王不动心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了while循环中的breakcontinue和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 -------这是下一个语句-------

结果:

[[email protected] 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 -------这是下一个语句-------

结果是这样的:

[[email protected] 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 -------这是下一个语句-------

结果:

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

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

 

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

 

以上是关于while循环中的breakcontinue和else的主要内容,如果未能解决你的问题,请参考以下文章

C语言学习之循环语句以及breakcontinue语句

while循环breakcontinue

Python之breakcontinue

python基础之while循环for循环配合breakcontinue,while与elsefor与else

python基础之while循环for循环配合breakcontinue,while与elsefor与else

shell if特殊 case判断for循环while循环breakcontinue