循环语句嵌套
循环语句嵌套指的是,在一个程序中,存在这多个循环,而且这多个循环是相互嵌套的
还记得分支语句那节我们说的分支语句的嵌套么
还记得俄罗斯套娃么
形式是一样的
我们来玩一下学编程很喜欢打印输出的九九乘法表
我们尝试用派森实现一下:
内容结果是对了,但是这个格式不是我们熟悉的三角形的
我们调一下格式,让它每次输出print时候不要自动换行,我在print()函数里加了个参数end='':
但是我们见到的是 i 结束一轮,应该换行的
外面 i 的循环叫做外循环,里面的 j 循环叫做内循环
内循环循环一轮,外循环才循环一次
所以大家试一下的时候发现这个执行速度还是不快的
所以在Python中,能不用双层循环就不用,会拖慢执行速度
我们继续调整一下格式,在每执行一次外循环之前,换一行:
看上去样子已经很ok了,细心观察发现,运算式子之间靠的太近,我们使用空格隔开:
终于成功打印啦~
循环的中断
循环的中断就是,比如你在做游戏任务,要击杀20个河妖,然后你就循环在击杀,眼看着就要完成任务了!
突然!你的班主任无声无息出现在窗口
然后,你懂的,可能下次年级大会就要被警告处分了【这是后话了】
当前的影响就是,你的手机被没收了,游戏没法打了,河妖还没循环杀满20个,循环提前结束了
咳咳,小明,你低着头双手在有所动作,是不是在刷怪升级!!!
当然,还有其他可能,毕竟小明前段时间被我发现在看《那些年,我们一起追的女孩的》
好了,我们今天讲的循环的中断就是提前结束了循环【循环的终止条件还没达到】
循环结束有break和continue两种
break结束本次循环,跳出所在的循环
break是中断当前循环,跳出本次循环
跳出,你懂么,就是和本次循环没关系啦
上面是一个用break结束死循环的例子
continue结束本次循环,继续进行下一次循环
这就像,抓娃娃,在地铁站,商场经常有抓娃娃的机器
我也是非常喜欢的
我就抓到过一只熊本熊和一只小火龙
抓过的人都知道,每次都是有几十秒的计时,当你投了几个硬币或者扫码支付了几次
这几次就是循环次数
准备大展身手的时候
你在游戏里目测着,心里做着受力分析
时间过得很快
当你没有按去抓的按钮时候,时间到了
爪子自动抓了下去,本次循环执行结束,没抓到!!!
下一次循环开始,注意,上一次你没有操作,就结束了本次循环开始了下次循环
这就和continue很相似
和break不同之处就是,不是结束整个循环,而是结束了这次
如果抓娃娃,一次没在给定时间操作就让你后面的支付都作废
那我肯定要砸了机器,把娃娃拿走了
我们通过代码演示一下
每次都会让你输入一个数
我们加入continue:
注意:这里没有用else,当超过30秒,执行if的内容,然后跳过本次循环,之后的打印也就不输出了
如果没到30秒,if不执行,最后一句打印会执行
是不是很巧妙【自我陶醉中】
作业:
编写一个最多猜10次数字的游戏,猜测范围1~100,根据input内容提示猜大或者猜小,如果猜中,结束循环
下课
人生苦短,我选Python