Выключатель#
Введение#
Блоки Switch помогают учащимся перейти от блочного программирования к текстовому. С помощью блоков Switch учащиеся могут вводить код Python непосредственно внутри проекта, состоящего из блоков — писать команды, условия, значения или определения функций — продолжая при этом создавать остальную часть проекта с помощью блоков. Отдельные блоки также можно преобразовать в соответствующие им команды Python.
Чтобы узнать, как вводить команды, методы и операторы Python, см. VEX GO Python API.
Поскольку блоки Switch содержат код Python, для корректной работы проекта необходимо правильно указать орфографические, пунктуационные и отступы.
Ниже приведён список всех блоков Switch:
Переключение блоков — добавление кода Python в проект Blocks.
Стек — Предоставляет место для ввода команд Python, которые выполняются последовательно с другими блоками стека.
Блок C — Предоставляет место для ввода управляющего кода Python, например,
if,whileилиforоператоров.C Expandable — Предоставляет место для ввода управляющего кода Python с несколькими ветвями, например,
if,elifилиelse.Boolean — Предоставляет место для ввода кода Python, который возвращает
TrueилиFalse.Репортер — Предоставляет место для ввода кода Python, который возвращает значение.
Шляпа — Предоставляет место для определения функции Python.
Куча#
Блок Стек предоставляет место для ввода команд Python, которые выполняются последовательно с другими блоками стека.
[] :: custom-switch
Блок Stack может содержать одну или несколько строк кода Python.
при запуске :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward, then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
ждать [2] секунд
остановить движение
Блок С#
Блок C предоставляет место для ввода управляющего кода Python, например, операторов if, whileили for Блоки, помещенные внутрь блока C, выполняются как часть этой управляющей структуры Python.
if [] :: custom-switch
конец
К управляющему коду Python, который можно использовать в блоке C, относятся:
при запуске :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
вечно
if [if bumper.is_pressed():] :: custom-switch
движение [вперёд v] на [200] [мм v] ▶
конец
конец
C Расширяемый#
Блок C Expandable предоставляет место для ввода управляющего кода Python с несколькими ветвями, например, if, elif, или elseДополнительные ветви можно добавить, выбрав стрелку плюса.
if [] :: custom-switch-expand
конец
В блоке C Expandable можно использовать следующий управляющий код на Python:
при запуске
[Build Used: Super Code Base 2.0]
[Drive forward if there is not an object in the way.]
вечно
if [if eye.is_object_detected():] :: custom-switch-expand
остановить движение
else [else:] :: custom-switch-expand
движение [вперёд v] на [200] [мм v] ▶
конец
конец
Логический#
Блок Boolean предоставляет место для ввода кода Python, возвращающего True или FalseЕго можно размещать внутри блоков с шестиугольными входными данными.
<[] :: custom-switch>
Блок логических значений (Boolean) может содержать условие Python.
<[bumper.is_pressed()] :: custom-switch>
В блоке логических значений также могут использоваться логические операторы:
<[bumper.is_pressed() or eye.is_object_detected()] :: custom-switch>
В блоке логических значений можно использовать операторы сравнения для сопоставления значений:
Больше, чем:
>Меньше:
<Равно:
==Другие операторы сравнения включают
<=,!=, и>=
<[drivetrain.get_heading()> 100] :: custom-switch>
при запуске :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
вечно
если <[bumper.is_pressed()] :: custom-switch> то
движение [вперёд v] на [200] [мм v] ▶
конец
конец
Репортер#
Блок Reporter предоставляет место для ввода кода Python, возвращающего значение. Его можно размещать внутри блоков с циклическими полями ввода.
([] :: custom-switch)
Блок Reporter может содержать код Python, который возвращает значение.
([drivetrain.get_rotation()] :: custom-switch)
Математические операторы можно использовать в блоке Reporter:
([drivetrain.get_heading() + 45] :: custom-switch)
при запуске :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
поворот [вправо v] на [450] градусов ◀ и не ждать
вечно
очистить все строки
вывести ([drivetrain.get_rotation()] :: custom-switch) ▶
ждать [0.1] секунд
конец
Шляпа#
Блок Hat предоставляет место для определения функции Python. Блоки, прикрепленные под Hat, становятся телом этой функции.
[] :: hat custom-switch
В блоке Hat введите определение функции Python. Параметры указываются внутри скобок. Если функция не использует параметры, используйте пустые скобки.
[def function_name(parameter):] :: hat custom-switch
[def drive_400():] :: hat custom-switch
[Build Used: Code Base 2.0]
[Create a function to drive the robot forward.]
движение [вперёд v] на (400) [мм v] ▶
при запуске :: hat events
[drive_400()] :: custom-switch