Python While循环语句(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013868143/article/details/83050202

好啦,咋们来了,继续吧。

本章学习点:

  1. while else

  2. break 与 continue

  3. 上节小作业(模仿银行输入的密码出错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

猜你喜欢

转载自blog.csdn.net/u013868143/article/details/83050202