好啦,咋们来了,继续吧。
本章学习点:
- while else
- break 与 continue
- 上节小作业(模仿银行输入的密码出错3次,而锁定账户(三次重新输入密码的机会))
一. While else 组合
在我们上节已经说过了while的运用,但是有趣的是,Python还有个while else 组合,其实这个组合是 if...else... 的亲戚呢。这个是什么意思呢?意思就是 while 条件不成立的时候,就执行 else 否则的代码块,这与 if...else.. 组合非常相似呀,只是说while是可以进行循环而已,而 if...else... 没有循环这个功能而已啦。现在接下来看看代码吧。
# !/usr/bin/env python
# -*- coding:utf8 -*-
number = 9
while number < 10:
print(number)
number = number + 1
else:
print("else ")
运行结果是:
9
else
二. break 与 continue
这两个关键字,顾名思义,就是打断跳出和 打断继续,这正符合while使用这两个关键字的功能描述。为什么这么说呢?还是使用上面的例子进行更改验证。
continue
程序规定,若要打印出1 2 3 4 5 6 7 9 使用以下代码即可。
# !/usr/bin/env python
# -*- coding:utf8 -*-
number = 1
while number < 10:
if number == 8:
number = number + 1
continue
print(number)
number = number + 1
咋们来解释下以上代码吧。在number等于8的时候,就让number加一,但是continue是什么意思呢?是一个怎么样的执行步骤呢?当运行continue的时候,continue下面的代码就执行了,就会直接跳转到while循环的条件,进行条件判断number是否小于10,如果小于10,就会进行执行循环代码块,这时候number已经等于9了,还是可以进行执行。所以就打印出1 2 3 4 5 6 7 9。
break
程序规定使用以上代码,若要在number等于8的时候,立马结束循环,最后再循环体外打印出end语句,就可以使用以下代码。
# !/usr/bin/env python
# -*- coding:utf8 -*-
number = 1
while number < 10:
if number == 8:
break
print(number)
number = number + 1
print("end")
运行结果是:1 2 3 4 5 6 7 end
那么你会发现 print(number) 和 number = number + 1 当进入number等于8的时候,执行了break后,这两句话并没有执行,这是为什么呢?咋们来仔细分析下,当number等于8的时候,执行break,而break是打断跳出循环,那么就直接执行while循环体外的代码了,也就是print("end") 代码。
以上就是break与continue的区别了。总结以下:
continue 是终止当前循环,开始下一次循环。 break 是终止所有循环。
三. 模仿银行输入的密码出错3次,而锁定账户(三次重新输入密码的机会)
# !/usr/bin/env python
# -*- coding:utf8 -*-
count = 0
while count < 3:
name = input("请输入用户名:")
password = input("请输入密码:")
if name == "root" and password == "123":
print("密码输入正确")
break
else:
print("用户名或者密码错误")
count = count + 1