转变#
介绍#
Switch 模块使学生能够直接在基于模块的环境中编写 Python 代码。这种方法有助于弥合基于模块和基于文本的编程之间的差距。通过让用户看到模块命令如何转换为 Python 代码,Switch 模块使用户能够在熟悉的界面中更轻松地学习基于文本的编码技巧。使用 Switch 模块可以简化高级逻辑、计算和函数调用,同时仍然可以使用常规的模块。
堆#
Switch Stack 块用于执行在该块的空白区域内键入的 Switch Python 命令。
它们的形状设计成可以安装在其他动作模块的上方或下方。
[] :: custom-switch
Switch Stack 块可用于单行或多行 Switch Python 命令。
为了使 Switch Stack 块按预期工作,必须使用正确的拼写、标点符号和缩进输入 Switch Python 命令。
当开始 :: hat events
[Drive forward then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
等待 [2] 秒
驱动停止
C 块#
Switch C Block 块用于循环执行块内的所有块,直到满足块内空白处的条件为止。
它们的形状设计成可以连接堆叠或其他 C 型块,无论是在其上方、下方还是内部。
if [] :: custom-switch
结束
一些可以与 Switch C 代码块一起使用的 Switch Python 命令包括:
尽管
如果
为了
为了使 Switch C 块按预期工作,必须使用正确的拼写、标点符号和缩进输入 Switch Python 命令。
当开始 :: hat events
[Drive forward when the screen is pressed.]
永久循环
if [if brain.screen.pressing():] :: custom-switch
驱动 [向前 v] [200] [毫米 v] ▶
C 可扩展#
Switch C Expandable 代码块用于在满足代码块空白处条件时,循环执行特定分支内的代码块。可以通过扩展代码块来添加更多分支。
它们的形状设计成可以连接堆叠和其他 C 型块,这些 C 型块可以位于它们的上方、下方或内部。
if [] :: custom-switch-expand
结束
一些可以与 Switch C Expandable 模块一起使用的 Switch Python 命令包括:
尽管
如果
为了
为了使 Switch C Expandable 模块按预期工作,必须使用正确的拼写、标点符号和缩进输入 Switch Python 命令。
当开始
[Turn right when the screen is pressed, otherwise turn left.]
永久循环
if [if brain.screen.pressing(): ] :: custom-switch-expand
[右 v] 转
else [else:]
[左 v] 转
布尔值#
Switch Boolean 代码块用于返回 True 或 False 值来表示一个条件。这些条件由 Python 的 Switch 函数定义。
它们的形状适合安装在任何具有六边形(六面体)输入的模块中。
<[] :: custom-switch>
Switch Boolean 代码块可用于单行 Switch Python 函数,该函数将直接返回真或假的结果。
可以使用运算符在单个 Switch 布尔代码块中评估多个 Switch Python 函数。这包括:
和
或者
不是
<[bumper_a.is_pressed()] :: custom-switch>
Switch Boolean 块还可以将 Switch Python 函数与比较运算符结合使用,以评估返回值与给定数字的比较情况,使用的运算符如下:
大于:>
少于:
等于:=
还可以使用其他运算符,例如 <=、!= 和 >=
<[drivetrain.get_heading()> 100] :: custom-switch>
为了使 Switch Boolean 块按预期工作,必须使用正确的拼写、标点符号和缩进输入 Switch Python 命令。
当开始 :: hat events
[Drive forward whenever the screen is pressed.]
永久循环
如果 <[brain.screen.pressing()] :: custom-switch> 那么
驱动 [向前 v] [200] [毫米 v] ▶
记者#
Switch Reporter 代码块用于返回数值。这些条件由 Python 的 Switch 函数定义。
它们的形状设计成可以安装在任何带有圆形输入口的模块中。
([] :: custom-switch)
Switch Reporter 代码块可用于直接返回数值的单行 Switch Python 函数。
可以使用数学函数在Switch Reporter模块中计算值。这包括但不限于:
补充:+
减法:-
分配: /
乘法:*
([drivetrain.heading() + 45] :: custom-switch)
为了使 Switch Reporter 模块按预期运行,必须使用正确的拼写、标点符号和缩进输入 Switch Python 命令。
当开始 :: hat events
[Display the rotation while turning.]
[右 v] 转 [450] 度 ◀ 并且不等待
永久循环
清除所有行
打印 ([drivetrain.rotation()] ::custom-switch) ▶
等待 [0.1] 秒
帽子#
Switch Hat 模块用于在调用函数时运行所连接的模块堆栈。
它们的形状设计成可以安装在其他动作模块的上方。
[] :: hat custom-switch
附加的模块堆栈构成一个函数。“开关帽”模块用于定义函数名称和任何可选参数。
参数应使用圆括号括起来,并在其后加冒号,如下所示。如果函数没有参数,则使用右圆括号:()。
[def function_name(parameter):] :: hat custom-switch
为了使 Switch Hat 模块按预期工作,必须使用正确的拼写、标点符号和缩进输入 Switch Python 命令。
[def drive_400():] :: hat custom-switch
[Create a function to drive a robot forward.]
驱动 [向前 v] (400) [毫米 v] ▶
当开始 :: hat events
[drive_400()] :: custom-switch