转换#
简介#
Switch 指令块使学生能够在基于积木块的编程环境中直接编写 Python 代码。这种方法有助于消除积木块编程与文本编程之间的隔阂。通过让用户直观地看到积木块命令如何转换为 Python 代码,Switch 指令块让用户能够在熟悉的界面中更轻松地学习文本编程技术。使用 Switch 指令块可以在使用常规积木块的同时,简化高级逻辑、计算和函数调用。
以下是所有指令块的列表:
堆栈#
Switch 堆栈指令块用于执行在该指令块空白区域内输入的 Switch Python 命令。
其形状设计为可连接在其他动作指令块的上方或下方。
[] :: custom-switch
Switch 堆栈指令块既可用于单行 Switch Python 命令,也可用于多行命令。
为了使 Switch 堆栈指令块按预期运行,输入的 Switch Python 命令必须具有正确的拼写、标点符号和缩进。
当开始
[Move forward 400 mm]
[robot.move_for(400, 0)] :: custom-switch
C 型#
Switch C 型指令块用于循环执行其内部的指令块,直到满足该指令块空白区域中设定的条件为止。
其形状设计为可在其上方、下方或内部连接堆栈指令块或其他 C 型指令块。
if [] :: custom-switch
结束
结合 Switch C 指令块使用的 Switch Python 命令可能包括:
为了使 Switch C 指令块按预期运行,输入的 Switch Python 命令必须具有正确的拼写、标点符号和缩进。
当开始
[Continuously turn right until the screen is pressed.]
[右 v] 转
永久循环
if [ if robot.screen.pressing(): ] :: custom-switch
在屏幕上打印 [ Screen was pressed! ]▶
停止移动
结束
结束
C 型可扩展指令块#
Switch C 型可扩展指令块用于在满足该指令块空白区域中设定的条件时,循环执行特定分支内的指令块。通过扩展该指令块,可以添加额外的分支。
其形状设计为可在其上方、下方或内部连接堆栈指令块或其他 C 型指令块。
if [] :: custom-switch-expand
结束
结合 Switch C 可扩展 指令块使用的 Switch Python 命令可能包括:
为了使 Switch C可扩展 指令块按预期运行,输入的 Switch Python 命令必须具有正确的拼写、标点符号和缩进。
当开始
[Continuously move forward until the robot has a sports ball.]
永久循环
if [ if robot.has_sports_ball(): ] :: custom-switch-expand
在屏幕上打印 [ Screen was pressed! ]▶
停止移动
else [else: ]
移动 [向前 v]
结束
结束
布尔值#
Switch 布尔指令块用于将某个条件作为“真”(True)或“假”(False)值返回。这些条件是使用 Switch Python 函数来定义的。
它们的形状设计为可以嵌入任何具有六边形(六边)输入接口的指令块中。
<[] :: custom-switch>
Switch 布尔指令块可用于单行 Switch Python 函数,这些函数会直接返回一个真或假的条件。
运算符可用于在单个 Switch 布尔指令块中评估多个 Switch Python 函数。这包括:
<[controller.button_up.pressing() and controller.button_down.pressing()] :: custom-switch>
Switch 布尔 指令块还可以将 Switch Python 函数与比较运算符结合使用,以评估函数返回的值与给定数字之间的关系。你可以使用以下运算符:
Greater Than:
>Less Than:
<Equal to:
=Additional operators that can be used include
<=,!=, and>=
<[robot.inertial.get_heading()> 100] :: custom-switch>
为了使 Switch 布尔 指令块按预期运行,输入的 Switch Python 命令必须具有正确的拼写、标点符号和缩进。
当开始
[Continuously turn right until the screen is pressed.]
[右 v] 转
永久循环
如果 <[robot.screen.pressing()] :: custom-switch> 那么
在屏幕上打印 [ Screen was pressed! ]▶
停止移动
结束
结束
报告#
Switch 报告 指令块用于返回一个数值。这些条件是使用 Switch Python 函数来定义的。
它们的形状设计为可以嵌入任何具有圆形输入接口的指令块中。
([] :: custom-switch)
Switch 报告 指令块可用于单行的 Switch Python 函数,这些函数会直接返回一个数值。
数学函数可用于在** Switch 报告**指令块内计算数值。这包括但不限于:
([robot.inertial.get_heading() + 45] :: custom-switch)
为了让 Switch 报告指令块按预期工作,输入的 Switch Python 命令必须拼写正确、标点无误,且缩进规范。
当开始
[Current heading of the robot + 45 degrees will be printed on screen]
在屏幕上打印 ([robot.inertial.get_heading() + 45] :: custom-switch)▶
帽子#
Switch 帽子指令块用于在函数被调用时运行其下方连接的指令块堆栈。
它的形状设计为可以连接在其他动作指令块的上方。
[] :: hat custom-switch
连接的指令块堆栈构成了一个函数。Switch 帽子指令块 用于定义函数的名称以及任何可选的参数。
参数应该像下面展示的那样用括号括起来,并在后面加上冒号。如果函数没有参数,请使用空括号:()。
[def function_name(parameter):] :: hat custom-switch
为了让 Switch 帽子指令块按预期工作,输入的 Switch Python 命令必须拼写正确、标点无误,且缩进规范。
[def move_400():] :: hat custom-switch
[Define a custom function using Switch Hat Blocks.]
将 [向前 v] 移至 (400) [毫米 v] ▶
当开始
[move_400()] :: custom-switch