• 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循环也是可以被嵌套的。
  • 相关阅读:
    报错:无法截断表 '某表',因为该表正由 FOREIGN KEY 约束引用
    如何选择使用结构或类
    C#交换两个变量值的多种写法
    什么是.Net, IL, CLI, BCL, FCL, CTS, CLS, CLR, JIT
    把数据库中有关枚举项值的数字字符串转换成文字字符串
    为参数类型一样返回类型不同的接口写一个泛型方法
    报错:System.NotSupportedException: LINQ to Entities does not recognize the method
    关于泛型类和扩展方法的一点思考
    在ASP.NET MVC下通过短信验证码注册
    ASP.NET MVC下实现前端视图页的Session
  • 原文地址:https://www.cnblogs.com/outs/p/14458699.html
Copyright © 2020-2023  润新知