上节课讲了配合循环语句使用的布尔值和布尔运算,为了能够更好地使用循环语句,本节课会讲述四种能够配合循环语句使用的语句,分别是break语句、continue语句、pass语句、else语句。

一、break语句

break语句的作用是结束循环,一般写作if...break,意为如果满足某一个条件,就提前结束循环。注意,if...break只能在循环内部使用。

来看下面的代码,本来for循环要循环5次,但是在第3次时会被break语句打断,提前结束循环。

for i in range(5):

print('我要循环5次!')

if i == 2:

break

执行这段代码,会打印3次【我要循环5次!】,因为当i的值为2时,会触发break语句,结束循环。

需要注意,break作为if的子句需要缩进4个空格,加上前面for循环子句缩进的4个空格,一共缩进了8个空格。

再看while循环搭配break语句的使用。

while True:

password = int(input('请输入你的密码:'))

if password == 123:

break

print('密码正确!')

while True开启一个无线循环,通过input()函数输入一个数据并由字符串转换成整数。如果输入的这个数据等于123,则break语句生效退出循环,打印出【密码正确!】。

如果输入的数据不等于123,则循环继续,直到输入的值为123时,结束循环。

二、continue语句

continue语句也是在循环内部使用的。当条件被满足时,触发continue语句并跳过后面的代码,回到循环的开始。看下面的代码:

for i in range(5):

print('我要循环5次!')

if i == 2:

continue

print('这句话在i等于2时打印不出来')

运行上面的代码,当i等于0和1时均会打印出【我要循环5次!】和【这句话在i等于2时打印不出来】。当i等于2时满足条件触发continue语句,不执行后面的【print('这句话在i等于2时打印不出来')】,直接回到for循环继续。

搭配while循环的用法如下:

while True:

password = int(input('请输入你的密码:'))

if password != 123:

continue

print('密码正确!')

上面的代码会无限循环,因为无论输入什么样的密码,都无法跳出while循环。区别在于输入123时会打印【密码正确!】。如果在代码运行时陷入无限循环,可按组合键Ctrl+C或是直接关闭显示程序输出的终端窗口。

三、pass语句

pass语句的作用是跳过,因为不太容易表述,所以看下面的代码:

password = int(input('请输入你的密码:'))

if password == 123:

pass

else:

print('密码错误!')

上述代码中,当输入的password值是123时,不执行任何操作。如果不是123,执行print()语句打印【密码错误!】。

虽然pass的作用不太明显,但也不能忽视。上面那段代码,如果把pass去掉,运行时会报错。

四、else语句

else语句在讲if条件判断语句时曾经提到过,其实它不仅可以和if配合使用,还能与for循环和while循环配合使用。看下面的代码:

for i in range(3):

password = int(input('输入密码123结束循环,你有3次机会'))

if password == 123:

print('break语句触发,循环结束,else语句不会生效。')

break

else:

print('3次都输入错误,循环结束,else语句生效。')

运行这段代码,如果你输入123,则会打印【break语句触发,循环结束,else语句不会生效。】。如果3次都没有输入123,则会打印【3次都输入错误,循环结束,else语句生效。】。

先不要看下面的答案,尝试把上面代码中的for循环改为while循环,然后运行。

答案是这样的,你写出来了吗?

i = 0

while i < 3:

password = int(input('输入密码123结束循环,你有3次机会'))

i = i + 1

if password == 123:

print('break语句触发,循环结束,else语句不会生效。')

break

else:

print('3次都输入错误,循环结束,else语句生效。')

到这里配合循环的四种语句就都讲完了,接下来的两节课会做两个练习,尝试将前面学过的知识结合起来运用。

因此,如果之前学习的内容记不清了,我建议你回过头复习一遍。我在学习时,就是在这里开始我在python学习中的第一次复习的。虽然多花费了一些时间,但我认为这是值得的。因为这让我能够独立完成接下来的练习,而不是只能参照答案。