来源:python中国网 时间:2019-06-06

  上节课初步使用过while和for循环,如果人类设计计算机让循环一开始执行就不受控制了,这恐怕不符合邪恶的人类本性,所以加入了一些语句人为控制循环跳出,至于在底层的电子电路层面如何实现的我们暂且不管,本节课介绍break、continue、else三个。

  1.使用break语句跳出循环体

  break用于完全结束一个循环,跳出循环体。如果有循环嵌套的且break是在内层循环的,那么只会跳出内层循环,不会跳出外层循环。

 -*- coding: utf-8 -*-

for i in range(0, 5) :
    print("i的值是: ", i)
    if i == 2 :
        # 执行该语句时将结束循环
        break

print('//////////////////')

# 外层循环
for i in range(0, 5) :
    # 内层循环
    for j in range(0, 3 ) :
        print("	内层循环...i的值为: %d, j的值为: %d" % (i, j))
        if j == 1 :
            # 跳出里层循环
            break
    print('外层i值',i)
结果:

D:python3installpython.exe D:/python/py3script/python66.py
i的值是:  0
i的值是:  1
i的值是:  2
//////////////////
	内层循环...i的值为: 0, j的值为: 0
	内层循环...i的值为: 0, j的值为: 1
外层i值 0
	内层循环...i的值为: 1, j的值为: 0
	内层循环...i的值为: 1, j的值为: 1
外层i值 1
	内层循环...i的值为: 2, j的值为: 0
	内层循环...i的值为: 2, j的值为: 1
外层i值 2
	内层循环...i的值为: 3, j的值为: 0
	内层循环...i的值为: 3, j的值为: 1
外层i值 3
	内层循环...i的值为: 4, j的值为: 0
	内层循环...i的值为: 4, j的值为: 1
外层i值 4

Process finished with exit code 0


  2.使用continue语句跳出当次循环

  continue只是跳过当前次循环执行下次循环,并不是跳出整个循环体。如果把一条continue语句放在循环的最后一行,那么这条continue语句是没有意义的,因为它没有忽略任何程序语句。

 # -*- coding: utf-8 -*-

for i in range(0, 3 ) :
    print("i的值是: ", i)
    if i == 1 :
        continue
    print("输出{0}".format(i))
结果:

D:python3installpython.exe D:/python/py3script/python66.py
i的值是:  0
输出0
i的值是:  1
i的值是:  2
输出2

Process finished with exit code 0


  3.else语句

  循环的else代码块是Python的一个特殊的语法(其他编程语言通常不支持),便于生成更优雅的Python代码。对for和while循环都支持。

  表面上看,当循环体正常的结束的时候(没有break中断的)会执行else语句的部分。实际上是当循环条件为False时,程序会执行else代码块。

 # -*- coding: utf-8 -*-

for i in range(0, 3 ) :
    print("i的值是: ", i)
else:
    print('哈哈哈')

print('///////')

while False:
    print('循环进不来')
else:
    print('么么么哒')
结果:

D:python3installpython.exe D:/python/py3script/python66.py
i的值是:  0
i的值是:  1
i的值是:  2
哈哈哈
///////
么么么哒

Process finished with exit code 0