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

Python从零开始系列连载(六)

上一期学习了Python程序的基本控制流程,相信大家都已经熟悉啦,我们这一期就来学习Python程序的基本控制流程剩下的部分吧!可以在菜单栏【Python连载】查看!

Python程序的基本控制流程

循环结构

循环结构,很好理解,就是一直做某件事情,直到满足某种条件

while循环

我们举个栗子看看:

这是1~10求和,使用while循环

首先,count作为计数器,每次加1,初值设为1

sum作为累加器,初值设为0,每次加上count

然后循环的终止条件是count

每次循环打印sum和count的信息

这里使用了之前讲到的 += 和 print多个值的知识点

while死循环

在上一个循环中,当循环条件count

就不会继续循环了

但是有种循环是会不断进行的,不会停止!

我们想想,当循环条件一直满足,是不是就死循环了

死循环中的‘死’指的不是循环死掉或者结束,指的是陷入了不断地循环之中,想被捆绑固定死这种

捆绑,你懂的【坏笑

举个栗子:

大家注意,这里使用True作为真的条件

所以一直打印内容

大家注意到那个红圈的星号了么

指的是程序还在执行(有时是程序卡死)

怎么让他停止呢?

还记得刚开学时候讲的下图么:

按下去后等一会就好了,实在不行就restart kernel 或者重启jupyter

当然,死循环的条件改为任何真的值都行,例如'a' 或者是 1 都可以

for循环

除了while循环,还可以用for循环

for循环的格式:

for 循环变量 in 对象:

循环语句

这里的对象可以是我们学过的字符串,也可以是我们将要学的列表,元组,字典等

我们举个栗子:

这里的变量是 i ,我们习惯用 i ,当然,你换成 iphonex 也是可以的

这里相当于去循环'Python'这个字符串里的每位字符

然后依次打印

for循环经常和range()函数配合使用

range()函数的用法:

range(起始值,终止值,步长)

这里的起始值就是起点的意思

注意:终止值在这里是取不到的

步长就是跨一步通过的长度

举个栗子:

我站在0点位置,一步可以向前跨2m,则下一次我就在2m处了

然后是4m,以此类推。。。

好了,我们来看看具体程序:

注意:这里的循环结束位置10并没有打印出来

也就是刚才说的range()函数的结束位置的值是取不到的

循环语句嵌套

循环语句嵌套指的是,在一个程序中,存在这多个循环,而且这多个循环是相互嵌套的

还记得分支语句那节我们说的分支语句的嵌套么

还记得俄罗斯套娃么

形式是一样的

我们来玩一下学编程很喜欢打印输出的九九乘法表

我们尝试用Python实现一下:

内容结果是对了,但是这个格式不是我们熟悉的三角形的

我们调一下格式,让它每次输出print时候不要自动换行,我在print()函数里加了个参数end='':

但是我们见到的是 i 结束一轮,应该换行的

外面 i 的循环叫做外循环,里面的 j 循环叫做内循环

内循环循环一轮,外循环才循环一次

所以大家试一下的时候发现这个执行速度还是不快的

所以在Python中,能不用双层循环就不用,会拖慢执行速度

我们继续调整一下格式,在每执行一次外循环之前,换一行:

看上去样子已经很ok了,细心观察发现,运算式子之间靠的太近,我们使用空格隔开:

终于成功打印啦~

循环的中断

就是提前结束了循环【循环的终止条件还没达到】

循环结束有break和continue两种

break结束本次循环,跳出所在的循环

break是中断当前循环,跳出本次循环

跳出,你懂么,就是和本次循环没关系啦

上面是一个用break结束死循环的例子

continue结束本次循环,继续进行下一次循环

下一次循环开始,注意,上一次你没有操作,就结束了本次循环开始了下次循环

这就和continue很相似

和break不同之处就是,不是结束整个循环,而是结束了这次

我们通过代码演示一下

每次都会让你输入一个数

我们加入continue:

注意:这里没有用else,当超过30秒,执行if的内容,然后跳过本次循环,之后的打印也就不输出了

如果没到30秒,if不执行,最后一句打印会执行

是不是很巧妙【自我陶醉中】

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券