Växla#
Introduktion#
Switchblock hjälper elever att övergå från blockbaserad kodning till textbaserad kodning. Med Switchblock kan eleverna skriva Python-kod direkt i ett blockprojekt – skriva kommandon, villkor, värden eller funktionsdefinitioner – samtidigt som de bygger resten av projektet med block. Enskilda block kan också konverteras till motsvarande Python-kommandon.
För att lära dig hur man skriver Python-kommandon, metoder och operatorer, se VEX GO Python API.
Eftersom Switch-block innehåller Python-kod måste stavning, interpunktion och indentering vara korrekta för att projektet ska köras som förväntat.
Nedan följer en lista över alla Switch-block:
Byt block — Lägg till Python-kod i ett Blocks-projekt.
Stack — Ger ett utrymme för att skriva Python-kommandon som körs i sekvens med andra stackblock.
C Block — Ger ett utrymme för att skriva Python-kontrollkod, till exempel
if,whileellerfor-satser.C Expanderbar — Ger utrymme för att skriva Python-kontrollkod med flera grenar, till exempel
if,elifellerelse.Booleskt värde — Ger ett mellanslag för att skriva Python-kod som returnerar
TrueellerFalse.Reporter — Ger ett utrymme för att skriva Python-kod som returnerar ett värde.
Hat — Ger ett utrymme för att definiera en Python-funktion.
Stack#
Blocket Stack ger ett utrymme för att skriva Python-kommandon som körs i sekvens med andra stackblock.
[] :: custom-switch
Ett Stack-block kan innehålla en rad eller flera rader Python-kod.
när startad :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward, then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
vänta [2] sekunder
stoppa körning
C-blocket#
C-blocket ger ett utrymme för att skriva Python-kontrollkod, till exempel if, whileeller for -satser. Block som placeras inuti C-blocket körs som en del av den Python-kontrollstrukturen.
if [] :: custom-switch
avsluta
Python-kontrollkod som kan användas i ett C-block inkluderar:
när startad :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
för alltid
if [if bumper.is_pressed():] :: custom-switch
kör [framåt v] i [200] [mm v] ▶
avsluta
avsluta
C Expanderbar#
Blocket C Expandable ger utrymme för att skriva Python-kontrollkod med flera grenar, till exempel if, elifeller elseYtterligare grenar kan läggas till genom att välja pluspilen.
if [] :: custom-switch-expand
avsluta
Python-kontrollkod som kan användas i ett C Expandable-block inkluderar:
när startad
[Build Used: Super Code Base 2.0]
[Drive forward if there is not an object in the way.]
för alltid
if [if eye.is_object_detected():] :: custom-switch-expand
stoppa körning
else [else:] :: custom-switch-expand
kör [framåt v] i [200] [mm v] ▶
avsluta
avsluta
Booleansk#
Blocket Booleskt ger ett utrymme för att skriva Python-kod som returnerar True eller FalseDet kan placeras inuti block med hexagonala indata.
<[] :: custom-switch>
Ett booleskt-block kan innehålla ett Python-villkor.
<[bumper.is_pressed()] :: custom-switch>
Ett booleskt-block kan också använda logiska operatorer:
<[bumper.is_pressed() or eye.is_object_detected()] :: custom-switch>
Ett booleskt-block kan använda jämförelseoperatorer för att jämföra värden:
Större än:
>Mindre än:
<Lika med:
==Andra jämförelseoperatorer inkluderar
<=,!=och>=
<[drivetrain.get_heading()> 100] :: custom-switch>
när startad :: hat events
[Build Used: Super Code Base 2.0]
[Drive forward whenever the LED Bumper is pressed.]
för alltid
om <[bumper.is_pressed()] :: custom-switch> då
kör [framåt v] i [200] [mm v] ▶
avsluta
avsluta
Reporter#
Blocket Reporter ger ett utrymme för att skriva Python-kod som returnerar ett värde. Det kan placeras inuti block med cirkulära indata.
([] :: custom-switch)
Ett Reporter-block kan innehålla Python-kod som returnerar ett värde.
([drivetrain.get_rotation()] :: custom-switch)
Matematiska operatorer kan användas i ett Reporter-block:
([drivetrain.get_heading() + 45] :: custom-switch)
när startad :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
sväng [höger v] i [450] grader ◀ och vänta inte
för alltid
rensa alla rader
skriv ut ([drivetrain.get_rotation()] :: custom-switch) ▶
vänta [0.1] sekunder
avsluta
Hatt#
Blocket Hat ger ett utrymme för att definiera en Python-funktion. Block som är kopplade under Hat blir huvuddelen av den funktionen.
[] :: hat custom-switch
Skriv en Python-funktionsdefinition i Hat-blocket. Parametrar placeras inom parenteserna. Om funktionen inte använder parametrar, använd tomma parenteser.
[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.]
kör [framåt v] i (400) [mm v] ▶
när startad :: hat events
[drive_400()] :: custom-switch