变量循环
-
介绍
当我们在循环中重复一些代码积木时,我们经常需要同时使用一个变量,这样在循环的每一步这个变量都会有不同的数值。比如下面是一个典型的重复循环:
变量“索引”在一开始被设置为 1,然后我们重复3次说出它的数值,并在每次使用“说”积木后将其数值增加 1。由于这是一个非常常见的用法,我们可以使用“变量循环”来简化程序。
变量循环
变量循环是指下面这个积木:
这个积木重复的更新一个索引变量,让它从初始值开始逐步改变,等它到了极限值就结束循环。比如下面的变量循环会先把索引变量设置为1,然后每步把它增加2,到第4次迭代时,索引变量到达7这个极限值的时候停止。
参数
- 索引变量:在每次迭代中被更新的变量。你可以从下拉列表中选择任何变量作为索引变量。
- 初始值:在第一次循环开始之前给索引变量设置的值。
- 约束值:指标变量的极限值。如果索引变量每一步都在增加(正步长),那么只要索引即将大于约束值,变量循环就会停止;如果索引变量正在减小(负步长),则只要索引即将小于约束值,变量循环就会停止。
- 改变量:这个数值决定了索引变量的值在每一步变化多少。如果我们需要使索引变量逐步减小,我们需要将约束值设置为不大于初始值,并将改变量设置为负数。
更多示例
更大的步长
约束值不一定是变量的最终数值
在下面的例子中,每次索引变量增加2。所以在它变成5之后,如果变量循环继续,它将变为7。但是,由于约束值为6,因此当索引变量变为5后这个循环将停止。
负的改变值
自动制作或展开变量循环
为了帮助你了解变量循环的工作原理,创益编程游乐场可以帮你自动的制作或者展开变量循环。
如下所示,对于任何变量循环,如果你右键单击这个积木,你将看到一个“展开变量循环”的选项。该命令会将变量循环转换为一组不包含循环的积木,其功能与原来的变量循环相同。
如示例所示,我们首先将索引变量设置为初始值 1,然后运行 变量循环内的 2 个块,然后我们按步长更改索引变量。重复此操作,直到索引变量达到 5。
另一方面,如果你右键单击这一组积木,并选择“制作变量循环”,你将得到一个变量循环,它的结果和这一组积木相同。
请注意,原始变量循环的约束值为 6,但在“展开变量循环”和“制作变量循环”步骤之后,约束值变为 5。这是没有问题的,因为这两个约束值都会产生相同的运行结果。