Перемикач#
Вступ#
Блоки Switch допомагають студентам перейти від блочного кодування до текстового. За допомогою блоків Switch студенти можуть вводити код Python безпосередньо всередині проекту блоків — записувати команди, умови, значення або визначення функцій — водночас будуючи решту проекту за допомогою блоків. Окремі блоки також можна конвертувати в еквівалентні команди Python.
Щоб дізнатися, як вводити команди, методи та оператори Python, див. VEX CTE Python API.
Оскільки блоки Switch містять код Python, орфографія, пунктуація та відступи мають бути правильними, щоб проєкт працював належним чином.
Нижче наведено список усіх блоків Switch:
Перемикання блоків — додавання коду Python до проєкту Blocks.
Stack — Надає простір для введення команд Python, що виконуються послідовно з іншими блоками стеку.
C Block — Надає пробіл для введення керуючого коду Python, такого як
if,whileабоforоператорів.C Expandable — Надає простір для введення коду керування Python з кількома розгалуженнями, наприклад,
if,elifабоelse.Boolean — Надає пробіл для введення коду Python, який повертає
TrueабоFalse.Reporter — Надає місце для введення коду Python, який повертає значення.
Hat — Надає простір для визначення функції Python.
Стек#
Блок Stack надає простір для введення команд Python, які виконуються послідовно з іншими блоками стека.
[] :: custom-switch
Блок Stack може містити один або кілька рядків коду Python.
коли запущено :: hat events
[Move the 6-Axis Arm to a standard position at the start of the project.]
[arm.move_to(120, 120, 75, False)] :: custom-switch
Блок С#
Блок C надає місце для введення коду керування Python, такого як оператори if, whileабо for Блоки, розміщені всередині блоку C, виконуються як частина цієї структури керування Python.
if [] :: custom-switch
Кінець
Код керування Python, який можна використовувати в блоці C, включає:
коли запущено :: hat events
[Check if the 6-Axis Arm can move to a position.]
if [if not arm.can_arm_reach_to(0, 0, 0):] :: custom-switch
вивести [The 6-Axis Arm can't move to this position.] на консоль ◀ і перейти до наступного рядка
Кінець
C Розширюваний#
Блок C Expandable надає місце для введення коду керування Python з кількома гілками, такими як if, elifабо elseДодаткові гілки можна додати, вибравши стрілку з плюсом.
if [] :: custom-switch-expand
Кінець
Код керування Python, який можна використовувати в блоці C Expandable, включає:
коли запущено
[Check if the 6-Axis Arm can or can't move to a position.]
if [if not arm.can_arm_reach_to(0, 0, 0):] :: custom-switch-expand
вивести [The 6-Axis Arm can't move to this position.] на консоль ◀ і перейти до наступного рядка
else [else:] :: custom-switch-expand
вивести [The 6-Axis Arm can move to this position.] на консоль ◀ і перейти до наступного рядка
Кінець
Булеве значення#
Блок Boolean надає простір для введення коду Python, який повертає True або FalseЙого можна розмістити всередині блоків із шестикутними входами.
<[] :: custom-switch>
Блок Boolean може містити умову Python.
<[bumper_a.is_pressed()] :: custom-switch>
У булевому блоці також можуть використовуватися логічні оператори:
<[bumper_a.is_pressed() or bumper_b.is_pressed()] :: custom-switch>
Блок Boolean може використовувати оператори порівняння для порівняння значень:
Більше ніж:
>Менше ніж:
<Дорівнює:
==Інші оператори порівняння включають
<=,!=та>=
<[drivetrain.get_heading()> 100] :: custom-switch>
коли запущено
[Check if the 6-Axis Arm can move to a position.]
якщо <не <[arm.can_arm_reach_to(0, 0, 0)] :: custom-switch>> тоді
вивести [The 6-Axis Arm can't move to this position.] на консоль ◀ і перейти до наступного рядка
Кінець
Репортер#
Блок Reporter надає простір для введення коду Python, який повертає значення. Його можна розмістити всередині блоків із циклічними вхідними даними.
([] :: custom-switch)
Блок Reporter може містити код Python, який повертає значення.
([arm.get_y()] :: custom-switch)
Математичні оператори можна використовувати в блоці Reporter:
([arm.get_y() + 45] :: custom-switch)
коли запущено
[Display the current y-position while the 6-Axis Arm moves.]
перемістити [рука v] у позицію x:(-100) y:(200) z:(100) [мм v] ◀ і не чекати
повторювати до <[рука v] завершив рух?>
вивести ([arm.get_y()] :: custom-switch) на консоль ◀ і перейти до наступного рядка
чекати [0.25] секунд
Кінець
Капелюх#
Блок Hat надає простір для визначення функції Python. Блоки, приєднані до Hat, стають тілом цієї функції.
[] :: hat custom-switch
Введіть визначення функції Python у блоці Hat. Параметри вводяться в дужки. Якщо функція не використовує параметри, використовуйте порожні дужки.
[def function_name(parameter):] :: hat custom-switch
[def increment_y_100():] :: hat custom-switch
[Create a function to increment the 6-Axis Arm.]
змістити позицію [рука v] на x:[0] y:[100] z:[0] [мм v] ▶
коли запущено :: hat events
[increment_y_100()] :: custom-switch