前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >详细讲解python中的while...else

详细讲解python中的while...else

原创
作者头像
python自学网
发布2022-03-28 15:54:11
1.9K0
发布2022-03-28 15:54:11
举报
文章被收录于专栏:python+前端 知识分享

​Python中的循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码

一、场景

需求: 假如你的女朋友生气了,要惩罚:让你连内需说5遍“媳妇,我错了”,如果道歉正常完毕女朋友就原谅你了,这个程序怎么写?

代码语言:javascript
复制
i = 1
while i <= 5:
    print('媳妇,我错了')
    i += 1
print('媳妇原谅我了')

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

执行结果:

二、while...else语法:

代码语言:javascript
复制
while 条件:
    条件成立重复执行的代码
else:
    循环正常结束之后要执行的代码

以上场景正确的代码:

代码语言:javascript
复制
"""

1. 书写道歉的循环

2. 循环正常结束要执行的代码---else

"""

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

执行结果:

虽然正确的代码和之前没有利用while和else的代码执行结果相同,但是代码的严谨度是不一样的。

三、while...else退出循环的方式

需求: 女朋友生气,要求道歉5遍:媳妇,我错了。道歉到第三遍的时候,女朋友埋怨这一遍说的不真诚,那么是不是就要退出循环了?这个退出有两种可能性:

  1. 更生气,不打算原谅,也不需要道歉了,程序如何书写?
  2. 只一遍道歉不真诚,可以忍受,继续下一遍道歉,程序如何书写?

3.1 退出循环的方式 ----- break

代码如下:

代码语言:javascript
复制
i = 1
while i <= 5:
    if i == 3:
        print('这遍道歉说的不真诚')
        break
    print('媳妇,我错了')
    i += 1
else:
    print('媳妇原谅我了,哈哈哈')

执行结果:

总结: 所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行。

3.2 退出循环的方式 ----- continue

代码如下:

代码语言:javascript
复制
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配合使用,也是通过以上三个方面来讲述。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、场景
  • 二、while...else语法:
  • 三、while...else退出循环的方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档