使用python中的while...else方法

Python中的循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码。
一、场景
需求: 假如你的女朋友生气了,要惩罚:让你连内需说5遍“媳妇,我错了”,如果道歉正常完毕女朋友就原谅你了,这个程序怎么写?

i = 1 while i <= 5: print('媳妇,我错了') i += 1 print('媳妇原谅我了')

思考:以上最后的print是不是即使没有循环也能执行,所以以上循环如果没完成,最后的print照样会执行,那么以上代码是不符合的。正确的是以上循环和下面的print会有依赖关系的,只有以上的5遍循环结束了才可以打印媳妇原谅我了。
执行结果:
使用python中的while...else方法
文章图片

二、while...else语法:
while 条件: 条件成立重复执行的代码 else: 循环正常结束之后要执行的代码

以上场景正确的代码:
"""1. 书写道歉的循环2. 循环正常结束要执行的代码---else"""i = 1 while i <= 5: print('媳妇,我错了') i += 1 else: print('媳妇原谅我了,哈哈哈')

执行结果:
使用python中的while...else方法
文章图片

虽然正确的代码和之前没有利用while和else的代码执行结果相同,但是代码的严谨度是不一样的。
三、while...else退出循环的方式
需求: 女朋友生气,要求道歉5遍:媳妇,我错了。道歉到第三遍的时候,女朋友埋怨这一遍说的不真诚,那么是不是就要退出循环了?这个退出有两种可能性:
1.更生气,不打算原谅,也不需要道歉了,程序如何书写?
2.只一遍道歉不真诚,可以忍受,继续下一遍道歉,程序如何书写?
3.1 退出循环的方式 ----- break 代码如下:
i = 1 while i <= 5: if i == 3: print('这遍道歉说的不真诚') break print('媳妇,我错了') i += 1 else: print('媳妇原谅我了,哈哈哈')

执行结果:
使用python中的while...else方法
文章图片

总结: 所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行。
3.2 退出循环的方式 ----- continue 代码如下:
i = 1 while i <= 5: if i == 3: i += 1# 当用到continue时,计数器一定要加上,不然会出现死循环 continue print('媳妇,我错了') i += 1 else: print('媳妇原谅我了,哈哈哈')

执行结果:
使用python中的while...else方法
文章图片

循环只跳过第三次道歉,第四次和第五次照样正常执行下去,那么整个循环正常结束了,所以后面else缩进的代码会被执行到。
总结:因为continue是退出当前你一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else缩进的代码。
【使用python中的while...else方法】这篇文章讲解了python教程之while循环和else配合使用,以上涉及到语法和退出循环的2种方式、案例代码。下一篇讲解for循环和else配合使用,也是通过以上三个方面来讲述。
文章借鉴来源:
www.wakey.com.cn/

    推荐阅读