首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Python】学习笔记11

关注我,你的眼睛会怀孕

无限循环

由条件控制的循环运行方式

while :

反复执行语句块,直到条件不满足时结束。

>>a=3;

>>while a>0:

a=a-1;

print(a)

结果是

2

1

如果把代码做小小的修改

>>a=3;

>>while a>0:

a=a+1;

print(a)

这段代码执行会输出4,5,6…..

程序会一直运行下去。

当发现程序不会退出时,我们会用Ctrl+C来结束执行。

循环控制保留字

break:跳出并结束整个循环,执行循环后的语句。

continue:结束当次循环,继续执行后续次数循环。

程序遇到T时结束本次循环,继续循环,

输出结果为PYHON,

把T给去掉了。

看下面例子

程序遇到T时,结束循环,执行循环后面的语句,输出结果为PY,把T之后的去掉了。

continue是结束当次循环,继续遍历循环;break是结束整个循环,跳出循环后,执行循环后面的语句。

那么问题来了:如果有两层,或者多层循环,break该怎么办呢?

看下面的例子,判断S是否为空字符串,如果不为空,逐个输出字符串中的字符,然后是对字符串进行切片操作。输出结果如图,形成了两层循环。

修改一下

不知道聪明的你是否也发现这个输出结果的不同之处了?最开始,字符串是PYTHON,使用内层循环for来遍历字符串PYTHON每一个字符,当遇到字符T的时候,break会跳出当次循环,仅仅跳出for循环,break仅能跳出当前最内层循环,跳出for循环之后呢?

因为外面还有while循环,所以会继续执行while循环。所以这串代码的意思是我们遍历字符串,遇到T停止遍历,并对字符串进行切片,继续遍历,所以 最后的结果就是PYPYPYPYPYP.。(这个老哥很喜欢py啊,好可怕)

所以请大家千万要记住,一个break就是仅跳出当前的最内层循环,如果有多层循环嵌套时,只跳出内层,外层循环依然有效,break一般遵循就近原则。

循环的高级用法

我们已经学会使用(for in),while,来进行遍历循环与无限循环,其实Python还提供循环的扩展用法,就是循环与else的搭配,我们知道else保留字是用来做条件判断的,但是它却可以和我的循环结成组合。

使用方法如下所示:

for in :

else:

while :

else:

无论是for还是while循环,当循环没有被break语句退出时,执行else语句。

简单说,当循环正常执行退出时(循环体中执行continue时不影响),我们会奖励它再执行一段else语句。

在代码中,没有break语句,所以循环中一定不会遇到break,所以循环退出后,会执行else后面的代码。

因为有break语句,循环退出,并不会执行else后面的语句块。

所以通过else拓展,我们能够知道,循环中有没有被break结束,这样对于程序逻辑的设计,将变得更加简洁。

下面我们对循环结构进行小结:

for...in...遍历循环:计数,字符串,列表,文件。。。

while无限循环。。。

continue break保留字:退出当前循环层次

循环else的高级用法与break有关

我又加班了,哈哈哈,真是…..

如果有不懂得地方,欢迎留言咨询。

三更编程菌

It is no profit to have learned well, if you neglect to do well.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180723G1XKIM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券