Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • CreatiCode
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

CreatiCode Scratch Forum

  1. CreatiCode Forum
  2. 知识库
  3. 二维积木
  4. 变量循环

变量循环

Scheduled Pinned Locked Moved 二维积木
1 Posts 1 Posters 1.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • CreatiCodeI Offline
    CreatiCodeI Offline
    CreatiCode
    wrote on last edited by admin
    #1

     

    介绍

    当我们在循环中重复一些代码积木时,我们经常需要同时使用一个变量,这样在循环的每一步这个变量都会有不同的数值。比如下面是一个典型的重复循环:

    https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/3eae74cd-5696-41cc-8e3c-4364b3be680d.gif" width="820" style="border-radius: 5px; border: 1px solid #29622d;">

     
    变量“索引”在一开始被设置为 1,然后我们重复3次说出它的数值,并在每次使用“说”积木后将其数值增加 1。

    由于这是一个非常常见的用法,我们可以使用“变量循环”来简化程序。

     
     

    变量循环

    变量循环是指下面这个积木:

    8e847f59-cd3a-4009-b335-439ebf8daf77-image.png

    这个积木重复的更新一个索引变量,让它从初始值开始逐步改变,等它到了极限值就结束循环。比如下面的变量循环会先把索引变量设置为1,然后每步把它增加2,到第4次迭代时,索引变量到达7这个极限值的时候停止。

    0c7300f5-41dc-49cf-8c4c-9e9f8518c4d9-image.png

    https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/91617960-ce02-4d14-8327-9a8c82f199de.png" width="320" style="">

     

    参数

    • 索引变量:在每次迭代中被更新的变量。你可以从下拉列表中选择任何变量作为索引变量。
    • 初始值:在第一次循环开始之前给索引变量设置的值。
    • 约束值:指标变量的极限值。如果索引变量每一步都在增加(正步长),那么只要索引即将大于约束值,变量循环就会停止;如果索引变量正在减小(负步长),则只要索引即将小于约束值,变量循环就会停止。
    • 改变量:这个数值决定了索引变量的值在每一步变化多少。如果我们需要使索引变量逐步减小,我们需要将约束值设置为不大于初始值,并将改变量设置为负数。

     
     

    更多示例

     
     

    更大的步长

    say3.gif

     

    约束值不一定是变量的最终数值

    在下面的例子中,每次索引变量增加2。所以在它变成5之后,如果变量循环继续,它将变为7。但是,由于约束值为6,因此当索引变量变为5后这个循环将停止。

    https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/42e90db7-eb8d-4630-b040-c1f761a7ef2b.gif" width="1000" style="border-radius: 5px; border: 1px solid #29622d;">

     
     

    负的改变值

    https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/e5b2d108-51cc-49fa-bf7a-5c11781f6a2d.gif" width="1000" style="border-radius: 5px; border: 1px solid #29622d;">

     
     

    自动制作或展开变量循环

    为了帮助你了解变量循环的工作原理,创益编程游乐场可以帮你自动的制作或者展开变量循环。

    如下所示,对于任何变量循环,如果你右键单击这个积木,你将看到一个“展开变量循环”的选项。该命令会将变量循环转换为一组不包含循环的积木,其功能与原来的变量循环相同。

    say.gif

     
    如示例所示,我们首先将索引变量设置为初始值 1,然后运行 ​​变量循环内的 2 个块,然后我们按步长更改索引变量。重复此操作,直到索引变量达到 5。

     
    另一方面,如果你右键单击这一组积木,并选择“制作变量循环”,你将得到一个变量循环,它的结果和这一组积木相同。

    ff.gif

     
    请注意,原始变量循环的约束值为 6,但在“展开变量循环”和“制作变量循环”步骤之后,约束值变为 5。这是没有问题的,因为这两个约束值都会产生相同的运行结果。

    1 Reply Last reply
    0

    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

    With your input, this post could be even better 💗

    Register Login
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode