python初学16.Python程序的基本控制流程(下)

循环语句嵌套

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

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

还记得俄罗斯套娃么

形式是一样的

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

python初学16.Python程序的基本控制流程(下)_第1张图片


我们尝试用派森实现一下:

python初学16.Python程序的基本控制流程(下)_第2张图片


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

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



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

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

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

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

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

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

python初学16.Python程序的基本控制流程(下)_第3张图片


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

python初学16.Python程序的基本控制流程(下)_第4张图片


终于成功打印啦~

循环的中断

循环的中断就是,比如你在做游戏任务,要击杀20个河妖,然后你就循环在击杀,眼看着就要完成任务了!

突然!你的班主任无声无息出现在窗口

python初学16.Python程序的基本控制流程(下)_第5张图片


然后,你懂的,可能下次年级大会就要被警告处分了【这是后话了】

python初学16.Python程序的基本控制流程(下)_第6张图片


当前的影响就是,你的手机被没收了,游戏没法打了,河妖还没循环杀满20个,循环提前结束了

咳咳,小明,你低着头双手在有所动作,是不是在刷怪升级!!!

当然,还有其他可能,毕竟小明前段时间被我发现在看《那些年,我们一起追的女孩的》

python初学16.Python程序的基本控制流程(下)_第7张图片


好了,我们今天讲的循环的中断就是提前结束了循环【循环的终止条件还没达到】

循环结束有break和continue两种

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

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

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

python初学16.Python程序的基本控制流程(下)_第8张图片


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

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

这就像,抓娃娃,在地铁站,商场经常有抓娃娃的机器

我也是非常喜欢的

我就抓到过一只熊本熊和一只小火龙

python初学16.Python程序的基本控制流程(下)_第9张图片


抓过的人都知道,每次都是有几十秒的计时,当你投了几个硬币或者扫码支付了几次

这几次就是循环次数

准备大展身手的时候

你在游戏里目测着,心里做着受力分析

时间过得很快

当你没有按去抓的按钮时候,时间到了

爪子自动抓了下去,本次循环执行结束,没抓到!!!



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

这就和continue很相似

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

如果抓娃娃,一次没在给定时间操作就让你后面的支付都作废

那我肯定要砸了机器,把娃娃拿走了

我们通过代码演示一下

每次都会让你输入一个数

python初学16.Python程序的基本控制流程(下)_第10张图片


我们加入continue:

python初学16.Python程序的基本控制流程(下)_第11张图片


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

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

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

作业:

编写一个最多猜10次数字的游戏,猜测范围1~100,根据input内容提示猜大或者猜小,如果猜中,结束循环

下课

人生苦短,我选Python

你可能感兴趣的:(python初学16.Python程序的基本控制流程(下))