前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >技术 | Python从零开始系列连载(六)

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

作者头像
灯塔大数据
发布2018-04-03 15:37:58
8470
发布2018-04-03 15:37:58
举报
文章被收录于专栏:灯塔大数据

导读

为了解答大家初学Python时遇到各种常见问题,小灯塔特地整理了一系列从零开始的入门到熟练的系列连载

上一期学习了Python程序的基本控制流程,相信大家都已经熟悉啦,我们这一期就来学习Python程序的基本控制流程剩下的部分吧!

Python程序的基本控制流程

循环结构

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

就像玩游戏,做任务,觉醒20个式神,当完成之后,循环就结束啦

while循环

我们举个栗子看看:

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

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

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

然后循环的终止条件是count<11 ,也就是count等于10 是最后一次循环

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

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

while死循环

在上一个循环中,当循环条件count<11不再满足时(此时count = 11)

就不会继续循环了

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

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

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

捆绑,你懂的【坏笑

举个栗子:

大家注意,这里使用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不执行,最后一句打印会执行

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

好啦,这期的分享先到这里,大家可以按照上面的详细步骤进行练习,我们下周五不见不散~

文章来源: Python爱好者社区

文章编辑:天天

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 灯塔大数据 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档