转变#
介绍#
Switch 模块使学生能够直接在基于模块的环境中编写 Python 代码。这种方法有助于弥合基于模块和基于文本的编程之间的差距。通过让用户了解模块命令如何转换为 Python,Switch 模块使在熟悉的界面中学习基于文本的编码技术变得更加容易。使用 Switch 模块可以简化高级逻辑、计算和函数调用,同时仍然使用常规模块。
堆#
Switch Stack 块用于执行在块的空白处输入的 Switch Python 命令。
它们的形状适合附着在其他动作块的上方或下方。
[] :: custom-switch
Switch Stack 块可用于单行或多行 Switch Python 命令。
为了使 Switch Stack 块按预期运行,必须使用正确的拼写、标点和缩进输入 Switch Python 命令。
当开始
[Land after 1 second.]
[drone.take_off(500)] :: custom-switch
等待 [1] 秒
土地 ▶
C 区#
Switch C Block 块用于循环内部的块,直到满足块的空白处的条件。
它们的形状适合在其上方、下方或内部连接堆栈或其他 C 块。
if [] :: custom-switch
结束
一些可与 Switch C 块一起使用的 Switch Python 命令包括:
而
如果
比
为了使 Switch C 块按预期运行,必须使用正确的拼写、标点和缩进输入 Switch Python 命令。
当开始
[Move with controller until button 7 is pressed.]
起飞至 [500] [毫米 v] ▶
if [while not controller.button7.pressing():] :: custom-switch
使用遥控器移动
结束
土地 ▶
结束
C 可扩展#
Switch C Expandable 模块用于在满足模块空白处的条件时,循环执行特定分支内的模块。可以通过扩展模块来添加其他分支。
它们的形状适合将堆栈和其他 C 块连接到其上方、下方或内部。
if [] :: custom-switch-expand
结束
一些可与 Switch C Expandable 块一起使用的 Switch Python 命令包括:
而
如果
比
为了使 Switch C Expandable 块按预期运行,必须使用正确的拼写、标点和缩进输入 Switch Python 命令。
当开始
[Climb up or down with buttons 5 and 6.]
起飞至 [500] [毫米 v] ▶
永久循环
if [if controller.button5.pressing():] :: custom-switch-expand
爬升 [向上 v]
else [elif controller.button6.pressing():] :: custom-switch-expand
爬升 [向下 v]
else [else:] :: custom-switch-expand
徘徊
结束
结束
布尔值#
Switch Boolean 块用于返回条件,即 True 或 False。这些条件由 Switch Python 函数定义。
它们的形状适合放入任何具有六角形(六面)输入的块内。
<[] :: custom-switch>
Switch Boolean 块可用于单行 Switch Python 函数,直接报告真或假条件。
运算符可用于在单个 Switch Boolean 块中评估多个 Switch Python 函数。其中包括:
和
或
不是
<[controller.button5.pressing() and controller.button7.pressing()] :: custom-switch>
Switch Boolean 块还可以将 Switch Python 函数与比较运算符结合起来,使用以下运算符来评估报告的值与给定数字的比较情况:
大于:
小于: <
等于: =
可以使用 其他运算符包括 <=!=和 =
<[drone.inertial.get_heading()> 100] :: custom-switch>
为了使Switch Boolean块按预期运行,必须使用正确的拼写、标点和缩进输入 Switch Python 命令。
当开始
[Move with controller until button 7 is pressed.]
起飞至 [500] [毫米 v] ▶
重复直到 <[controller.button7.pressing()] :: custom-switch>
使用遥控器移动
结束
土地 ▶
记者#
Switch Reporter 模块用于返回数值。这些条件由 Switch Python 函数定义。
它们的形状适合放入任何带有圆形输入的块中。
([] :: custom-switch)
Switch Reporter 块可用于直接报告数值的单行 Switch Python 函数。
数学函数可用于计算Switch Reporter块中的值。包括但不限于:
加法:
+
减法:
-
除法:
/
乘法:
*
([drone.get_altitude() + 45] :: custom-switch)
为了使Switch Reporter块按预期运行,必须使用正确的拼写、标点和缩进输入 Switch Python 命令。
当开始
[Display the altitude after climbing for 3 seconds.]
起飞至 [500] [毫米 v] ▶
爬升 [向上 v]
等待 [3] 秒
在屏幕上打印 ([drone.get_altitude()] :: custom-switch)▶
土地 ▶
帽子#
当调用该函数时,Switch Hat 块用于运行附加的块堆栈。
它们的形状适合附着在其他动作块上方。
[] :: hat custom-switch
附加的块堆栈是一个函数。Switch Hat 块用于定义函数的名称和任何可选参数。
参数应括在括号中,后跟冒号,如下所示。如果函数没有参数,请使用闭合括号: ()。
[def function_name(parameter):] :: hat custom-switch
为了使 Switch Hat 块按预期运行,必须使用正确的拼写、标点和缩进输入 Switch Python 命令。
[def take_off_500():] :: hat custom-switch
[Define a custom function using Switch Hat Blocks.]
起飞至 [500] [毫米 v] ▶
当开始
[take_off_500()] :: custom-switch