zoukankan      html  css  js  c++  java
  • CodeMonkey少儿编程第6章 for循环

    目标

    • 掌握for循环的使用方法
    • 理解for循环的嵌套

    在第3章中,我们学习了times循环。times循环可以让一段代码重复执行指定的次数。

    本章我们将学习另一种循环结构——for循环。它同样能让一段代码重复执行,但无需指定重复的次数。

    那这段代码会重复执行多少次呢?还记得上一章中学习的数组吗,for循环中的数组里有多少个对象,代码就会重复执行多少次。

    下面让我们开始本章的学习。

    for循环

    首先来看for循环的格式:

    for element in array

    ....待重复执行的代码

    是不是没有看明白?哈哈,没关系,我来解释一下你就清楚了。

    以上for循环结构的意思是:对于数组(array)里的每一个元素(element),都执行一次“待重复执行的代码”。也就是说,数组里有多少个元素,就重复执行多少次下面的代码。

    看了上述文字你也许还是感觉很蒙,那就让我们通过下面这个关卡来切实体验一下for循环的用法吧。

    challenges_for

    这是我为times循环那一章节所设计的一个关卡,它同样可以使用for循环来解决。

    此关卡中有4只香蕉,它们共同组成了一个bananas数组。这4只香蕉都是这个数组里的元素,分别使用bananas[0],bananas[1],bananas[2]和bananas[3]来指代它们。

    如果使用for循环,那么这一关的解法如下:

    for b in bananas

    ....turnTo b

    ....step distanceTo b

    注意,以上代码中的.仅用来表示空格,测试运行时请不要输入。

    根据上述所介绍的for循环结构用法,因为bananas数组里有4个元素,所以循环会被执行4次。每一次循环时,都会依次从数组中取一个元素,将它赋值给b。

    为了更深入的理解,我们在这里将上述for循环展开,可以得到如下的代码:

    b = bananas[0]

    turnTo b

    step distanceTo b



    b = bananas[1]

    turnTo b

    step distanceTo b



    b = bananas[2]

    turnTo b

    step distanceTo b



    b = bananas[3]

    turnTo b

    step distanceTo b

    怎么样,看了以上展开的代码之后,for循环是不是更容易理解了?

    为了测试你是不是真的理解了for循环的用法,我们来做如下一个测试。

    请在浏览器里输入 http://t.im/hnwf , 可是直接点击下方的图片,以打开这一测试关卡。

    test_for

    很明显,面对如此多的香蕉,肯定是不能一只只地去收集了,那样太机械了,操作起来也不现实。所以,for循环这个时候就派上大用场了。

    希望你能顺利通关!

    for的嵌套

    还有一点需要注意,for循环是可以嵌套的。

    什么是嵌套呢?你有没有见过俄罗斯套娃,或者是象牙球雕?

    for循环的嵌套

    对,for循环的嵌套就是指,在一个for循环的里面,仍然是for循环。下面请看一下for循环的两层嵌套:

    for a in arrayA

    ....for b in arrayB

    ........待重复执行的代码段一

    ....待重复执行的代码段二

    以上即是一个两层的for循环,可以看到,在最外层的for循环里面,包含了另一个for循环。

    若将以上代码展开,可以得到以下代码:

    a = arrayA[0]

    b = arrayB[0]

    代码段一

    b = arrayB[1]

    代码段一

    b = arrayB[2]

    代码段一

    .... # 直到内层的for循环结束

    代码段二

    a = arrayA[1]

    b = arrayB[0]

    代码段一

    b = arrayB[1]

    代码段一

    b = arrayB[2]

    代码段一

    .... # 直到内层的for循环结束

    代码段二

    .... # 直到外层的for循环结束

    测试一下你是不是真正地理解了for的嵌套,请问,假设arrayA数组中有3个元素,arrayB数组中有5个元素,那么,在这个两层嵌套中,代码段一一共被执行了多少次?代码段二呢?

    公布答案啦,代码段一一共被执行了3x5=15次,代码段二一共被执行了3次。

    怎么样,你答对了吗?如果你的答案不正确,请再仔细思考一会儿。

    75关即需要使用到for的嵌套结构,你也可以使用它来自测。

    好了,for循环的内容就这么多了,课后作业赶紧做起来吧!

    作业

    • 故事模式61 - 75关
    • 进阶模式6-1 - 6-15关

      注意,一定保证要所有关卡都拿到三颗星。

    小结

    • for循环跟times循环一样,也可以用来重复执行某一段代码。
    • for循环无需手动指定循环次数,具体循环次数由其中的数组元素个数决定。
    • for循环是可以被嵌套的,即for循环的内部,仍然可以是for循环。其实,times循环也是可以被嵌套的。
  • 相关阅读:
    c#自动更新+安装程序的制作
    VS2013项目受源代码管理向源代码管理注册此项目时出错
    WinDbg配置和使用基础
    InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)
    PowerDesigner 如何生成数据库更新脚本
    用户故事(User Story)
    Troubleshooting Record and Playback issues in Coded UI Test
    Coded UI
    compare two oracle database schemas
    How to: Use Schema Compare to Compare Different Database Definitions
  • 原文地址:https://www.cnblogs.com/outs/p/14458699.html
Copyright © 2011-2022 走看看