如何使用python中的while...else

砾漠实例化
• 阅读 598

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配合使用,以上涉及到语法和退出循环的2种方式、案例代码。下一篇讲解for循环和else配合使用,也是通过以上三个方面来讲述。

文章借鉴来源:
www.wakey.com.cn/

点赞
收藏
评论区
推荐文章
学python的猫 学python的猫
4年前
这些常见的坑,90%的程序猿都踩过,来看看里面有没有你的脚印?
在学习python的过程中,相信大家都有踩过不少的坑,有些坑可能踩了不止一次,感觉就像是在坑与坑之间反复横跳。那么如何避免这些坑呢?看完这篇文章,你就知道了。我们来谈谈我们学习python的过程中,最常见的七大坑:1.缩进,符号和空格不正确写代码时大家会使用缩进、对齐、空格等,这些是为了提高代码的可读性在python语言中,缩进是十分重要的比如在创建一个新
Karen110 Karen110
4年前
求求你调试Python代码,不要再用Print了!
相信大部分人学习Python,肯定会用print()这个内置函数,来调试代码的。那么在一个大型的项目中,如果你也是使用print来调试你的Python代码,你就会发现你的终端有多个输出。那么你便不得不去分辨,每一行的输出是哪些代码的运行结果。举个例子,运行下面这个程序。num1  30num2  40 print(num1
Q羽V沫Q Q羽V沫Q
4年前
为啥要学Python?
为啥要学Python?如果我跟你说你现在用一天拉出来的财务统计表,学了Python之后能用1个小时就搞定,你学不学?如果你花了8个小时扒的竞品投放数据,学了Python之后能用30min搞定,你学不学?你总羡慕你的同事能6点下班,陪女朋友蹦迪夜生活丰富,你却在满脸油头的爆肝加班,学了Python之后,你也能这样,你学不学?如果我跟你说,学会了Python能增
陈占占 陈占占
4年前
python if的选择结构与循环
语句块:可以执行一次或者多次的语句,以冒号为标记,缩进结束就是语句块结束的时候判断条件:以bool类型为标志的,当条件为真就执行,为假就跳过。if的基本结构:if条件:......else:......note:要用冒号来结束代码块,用缩进区分代码块。提示:i
Bill78 Bill78
4年前
python中for......else......的使用
forxinrange(5):ifx2:print(x)breakelse:print("执行else....")上述代码:当缺少break关键字时,程序的执行结果是:2执行else....当具备break关键字时,程序执行结果为:2总结:for......else......的执行顺序
梦想橡皮擦 梦想橡皮擦
4年前
5. Python 循环的本质就是一段代码懒得重复写
为啥要滚雪球学Python,目的就是当你学会编程一些思想之后,可以让知识的雪球自行滚动起来。五、Python循环的本质就是一段代码懒得重复写程序中的循环概念非常容易理解,一段相似的代码不想重复去写,然后让程序去完成这个操作就是循环。例如从1加到100,如果你依次去加会发现,代码又臭又长,最好的写法当然是让程序通过循环依次去累加。
Stella981 Stella981
4年前
Python技巧之循环体中的条件分支
Python的‘for’和‘while’循环支持‘else’分句,分句仅在循环体没有触发‘break’语句并终止时执行。Python'sforandwhileloopssupportanelseclausethatexecutesonlyiftheloopsterminates
Stella981 Stella981
4年前
Python for
原文链接: Pythonforelse语句(https://my.oschina.net/ahaoboy/blog/1836014)当循环正常退出时,包括循环结束和continue时,才会调用else中的语句 当使用break结束循环时,不会执行else中的语句foriinrange(5):print(i
Stella981 Stella981
4年前
Python小白学习之基础知识(个人笔记)
介绍whileelse的使用,这个不常用格式化输出  whileesle,当循环内有break语句时,不执行else语句,当没有break语句时,执行完while循环,然后执行else下面的语句  案例如下:1登陆三次2i034whilei<3:
Stella981 Stella981
4年前
Python的while else
python中有一个其独有的功能,whileelse.它的作用是判断是循环是否被终止,如果没有被终止,那么就会执行else,反之则不会执行。还是用一段代码来解释吧else被执行:count0whilecount<5:print('loop',count)count
小万哥 小万哥
2年前
深入解析 C 语言中的 for 循环、break 和 continue
C语言中的for循环当您确切地知道要循环执行代码块的次数时,可以使用for循环而不是while循环cfor(语句1;语句2;语句3)//要执行的代码块语句1在执行代码块之前执行(一次)。语句2定义执行代码块的条件。语句3在执行代码块后执行(每次)。下面的示