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

今天和大家分享一个新的循环语句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和列表和字典的那些事!

原文发布于微信公众号 - 阿凯的Excel(akexcel)

原文发表时间:2018-01-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏宏伦工作室

全栈 - 4 Python 先学会基本语法

1837
来自专栏前端学习心得

ES6核心特性(二)

1192
来自专栏大数据学习笔记

Java程序设计(Java9版):第2章 数据类型与运算符(Data types and Operators)

第2章 数据类型与运算符(Data types and Operators) I think everybody in this country should ...

1845
来自专栏mathor

KMP(4)

795
来自专栏禅林阆苑

mysql学习总结02 — 数据类型

无符号:表示存储的数据在当前字段中,没有负数(只有正数,例如 tinyint 区间为 0~255)

1092
来自专栏owent

POJ 3267 The Cow Lexicon 解题报告

1.可以令 deleteNum[pos]为输入字符串在pos处需要删除的最少字符数量;

572
来自专栏C/C++基础

C/C++ sizeof(上)

sizeof是C/C++中的一个操作符(operator),其作用是返回一个对象或者类型所占的内存字节数,使用频繁,有必须对其有个全面的了解。

501
来自专栏闪电gogogo的专栏

Python入门学习(一)

看完了莫烦Python的视频,对于Python有了一点感觉,接下来打算把小甲鱼的视频啃完,附上学习网址:http://blog.fishc.com/catego...

1848
来自专栏Golang语言社区

第十一节 Go语言数组

干货来了!!!为了让更多的小伙伴喜欢Golang、加入Golang之中来,Golang语言社区发起人彬哥联合业界大牛共同推出了Go语言基础、进阶、提高课程,目前...

843
来自专栏诸葛青云的专栏

python入门:进来吧,给自己10分钟,这篇文章带你直接学会python

假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程。那么本教程将花费十分钟的时间带你走入Python的大门。本文的内容介于教程(Totur...

30

扫描关注云+社区