Python中的循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码。
一、场景
需求: 假如你的女朋友生气了,要惩罚:让你连内需说5遍“媳妇,我错了”,如果道歉正常完毕女朋友就原谅你了,这个程序怎么写?
i = 1
while i <= 5:
print('媳妇,我错了')
i += 1
print('媳妇原谅我了')
思考:以上最后的print是不是即使没有循环也能执行,所以以上循环如果没完成,最后的print照样会执行,那么以上代码是不符合的。正确的是以上循环和下面的print会有依赖关系的,只有以上的5遍循环结束了才可以打印媳妇原谅我了。
执行结果:
二、while...else语法:
while 条件:
条件成立重复执行的代码
else:
循环正常结束之后要执行的代码
以上场景正确的代码:
"""
1. 书写道歉的循环
2. 循环正常结束要执行的代码---else
"""
i = 1
while i <= 5:
print('媳妇,我错了')
i += 1
else:
print('媳妇原谅我了,哈哈哈')
执行结果:
虽然正确的代码和之前没有利用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('媳妇原谅我了,哈哈哈')
执行结果:
总结: 所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行。
3.2 退出循环的方式 ----- continue
代码如下:
i = 1
while i <= 5:
if i == 3:
i += 1 # 当用到continue时,计数器一定要加上,不然会出现死循环
continue
print('媳妇,我错了')
i += 1
else:
print('媳妇原谅我了,哈哈哈')
执行结果:
循环只跳过第三次道歉,第四次和第五次照样正常执行下去,那么整个循环正常结束了,所以后面else缩进的代码会被执行到。
总结:因为continue是退出当前你一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else缩进的代码。
这篇文章讲解了python教程之while循环和else配合使用,以上涉及到语法和退出循环的2种方式、案例代码。下一篇讲解for循环和else配合使用,也是通过以上三个方面来讲述。
文章借鉴来源:
www.wakey.com.cn/
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。