前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python读书笔记16(循环大法好!while少不了)

Python读书笔记16(循环大法好!while少不了)

作者头像
用户1332619
发布2018-03-08 17:43:54
1.3K0
发布2018-03-08 17:43:54
举报
文章被收录于专栏:阿凯的Excel阿凯的Excel

今天和大家分享一个新的循环语句while!

之前学过for循环语句用于遍历列表、元组、字典内的值,我们重温一下!

这种for循环语句是根据列表元素值的数量来决定循环次数的。

当然for循环可以与range(数量)函数结合来实现有限次数的循环!

但是这两种方式的循环都不够灵活,我们接下来分享用途更加全面的while循环!

while循环的基本语句如下:

while 判断条件:

(我是缩进占位符)循环内要执行的语句

判断条件为真,则执行while内语句,为假不执行!

上期结尾input说他会回来的,那我们满足一下他的心愿吧!

我们看一下上一个图片,是不是输入结束后,程序还是把结束打印出来了!

提个问题,我们上一个图片的程序While判断执行了几次?

正确答案:4次!

为什么是四次呢!

1、message 为空 进行了第1次判断,顺利进入循环内

2、message 在上一次循环中赋值为阿狸,进行了第二次判断

3、message 在上一次循环中赋值为桃子,进行了第三次判断

4、message 在上一次循环中赋值为结束,进行了第四次判断,第四次判断没有通过,while循环结束

那有什么方法不打印这个结束呢?

方法一:增加一个判断如何等于结束,不执行打印语句

for循环内嵌套了一个if函数,如果判断不等于结束才打印,反之不打印。

方法二:增加标志法!

本方法是直接使用一个sign变量作为标志,并且直接作为while循环的判断条件。如果标志为真执行循环,如果输入等于“结束”,标志循环重新赋值为假,则循环判断条件不通过,停止循环语句。

上述两种方案是解决了我们不想打印“结束”的这个问题!但是他循环了几次?是不是还是执行了4次,和之前没有本质的区别,有什么方法可以立即执行while循环判断吗?

方法三:break强制退出循环小能手

while判断条件为真,正常电脑有电,这个程序会执行到天荒地老、海枯石烂、会执行到我不爱你!

如果平时编程真的无意间弄了个无限循环,可以按Ctrl+C强制退出!

在这里我们使用的是break退出循环!循环执行到break的时候会毫不犹豫,直接退出循环的!

四、最后分享一个小东西continue,顺便聊聊缩进的那点事!

为了更好地体现缩进的关系,接下来我用jupyter编辑器和大家分享,其实目前的所有编程都可以用IDLE实现,所以基础课程,非必要我都会继续用IDLE截图!

在while循环中,continue代表的是跳出循环,并且重复执行while判断语句。

score%2 代表求score变量的余数,如果余数等于0则跳出循环、不执行余下语句。反之则执行while循环内的语句。

大家看一下缩进情况,本次代码的Print缩进与if相同,证明地位与if是一致的,print函数不在if内,则是属于while循环内的!

本代码的功能虽然与上一个是一致的,但是print的缩进与continue是一致的,则print是隶属于if函数的,if函数的结果决定是否执行print函数。

我们看一下这段代码,本段代码没有任何输出结果,证明print函数从来没有被执行过,为什么没有执行呢!因为print与continue缩进相同,隶属于if函数内。如果余数等于0,先执行continue后执行print,但是由于continue执行时会直接跳出循环,重复执行while判断语句,故没有机会执行print函数了。

为了方便理解,我们调换一下print和continue函数的位置

总结一下就是,缩进位置相同,代表并列关系,如果缩进多一个,则是上一级的隶属关系。

就酱~下期继续聊聊while和列表和字典的那些事!

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

本文分享自 阿凯的Excel 微信公众号,前往查看

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

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

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