友情提示:380元/半年,儿童学编程,就上码丁实验室。
各位小伙伴们大家好:
上期我们学习了如何从键盘获取输入,并且把输入打印到屏幕。(也就是输出)
今天我们来学习编程中一个非常重要的基础算法——循环的嵌套。
首先还是老规矩我们上代码↓:
这段代码↑是循环输出星号,循环10次每次输出一个星号。
上节课我们学习了输出之后应该很好理解!!
下面我们稍微改动一下:
Print()里面的参数end是定义结束方式,上面end=‘ ’的意思是输出一个星号后以一个空格结束(默认是空行的)
为了便于理解嵌套的内容我们再来看一段代码:
这一段代码是当i是数字几时,就输出几个星号。
了解了这么多下面我们就来看看循环嵌套到底是个什么样子。
下面请看代码:
首先我来讲一下第二行和第三行的代码:
从上一个例子我们知道这是让每第j行输出j个星号(比如第0行输出0个,第1行输出1个第2行输出2个…………)
这里得到了一个由星号组成的三角形。
但是第二行和第三行代码,属于第一行的for循环中。
第一行的代码意思是执行三次下面(第二行第三行)的代码。
所以会输出三个三角形。这就是最基本的循环的嵌套。
下面我们看看循环的嵌套在turtle库中会产生什么样的变化。
↓来看一段代码:
这里有两层循环,
第一层循环20次每次移动到一个随机位置(也就是产生20个随机位置)
第二层循环是执行10次前进+旋转(产生一个螺旋)
整个代码就是在产生20个随机位置,并在每个随机位置上输出一个10层的螺旋图。
↓下面我们把线条的轨迹隐藏掉,并让每次输出20层的螺旋图。
整体效果和代码如下:↓
接下来我给每个螺旋加上颜色(还记得怎么设置颜色吗,不记得的看前面的课程)
这里我们实现了在产生随机位置的时候,同时控制了颜色的循环。
下面这段代码我们把颜色的循环放到了第二层的循环中,大家可以自己动手试试,看和上面的区别在哪里。
这样有助于大家对循环的理解。这里我就不上效果图了,大家自己的运行。
本期我们学的东西不多,但是综合了很多我们前面学过的知识,希望大家一定要自己多多动手练习,上机操作。
本期就到这里,我们下期再见。
转自公众号:
高维数学