Schalten#
Einführung#
Switch-Blöcke erleichtern Schülern den Übergang von der blockbasierten zur textbasierten Programmierung. Mit Switch-Blöcken können Schüler Python-Code direkt in ein Blockprojekt eingeben – Befehle, Bedingungen, Werte oder Funktionsdefinitionen schreiben – während der Rest des Projekts weiterhin mit Blöcken erstellt wird. Einzelne Blöcke lassen sich außerdem in die entsprechenden Python-Befehle umwandeln.
Um zu lernen, wie man Python-Befehle, -Methoden und -Operatoren eingibt, siehe die VEXcode AIR Python API.
Da Switch-Blöcke Python-Code enthalten, müssen Rechtschreibung, Zeichensetzung und Einrückung korrekt sein, damit das Projekt wie erwartet ausgeführt werden kann.
Nachfolgend finden Sie eine Liste aller Switch-Blöcke:
Switch-Blöcke – Python-Code zu einem Blocks-Projekt hinzufügen.
Stack — Bietet Platz zum Eingeben von Python-Befehlen, die nacheinander mit anderen Stack-Blöcken ausgeführt werden.
C Block — Bietet Platz für die Eingabe von Python-Kontrollcode, wie z. B.
if,while, oderforAnweisungen.C Expandable — Bietet Platz für die Eingabe von Python-Kontrollcode mit mehreren Verzweigungen, wie z. B.
if,elifoderelse.Boolean — Bietet Platz für die Eingabe von Python-Code, der
TrueoderFalsezurückgibt.Reporter — Bietet Platz zum Eingeben von Python-Code, der einen Wert zurückgibt.
Hut — Bietet Platz zum Definieren einer Python-Funktion.
Stapel#
Der Stack-Block bietet Platz für die Eingabe von Python-Befehlen, die nacheinander mit anderen Stack-Blöcken ausgeführt werden.
[] :: custom-switch
Ein Stack-Block kann eine oder mehrere Zeilen Python-Code enthalten.
wenn gestartet
[Take off, wait 1 second, then land.]
[drone.take_off(500)] :: custom-switch
warte [1] Sekunden
landen ▶
C-Block#
The C Block provides a space to type Python control code, such as if, while, or for statements. Blocks placed inside the C Block run as part of that Python control structure.
if [] :: custom-switch
Ende
Python-Steuerungscode, der in einem C-Block verwendet werden kann, umfasst Folgendes:
wenn gestartet
[Move with the controller until button 7 is pressed.]
starte auf [500] [mm v] ▶
if [while not controller.button7.pressing():] :: custom-switch
mit Controller bewegen
Ende
landen ▶
C Erweiterbar#
Der C Expandable-Block bietet Platz für Python-Kontrollcode mit mehreren Verzweigungen, z. B. if, elifoder elseWeitere Verzweigungen können durch Auswahl des Plus-Pfeils hinzugefügt werden.
if [] :: custom-switch-expand
Ende
Python-Steuerungscode, der in einem C Expandable-Block verwendet werden kann, umfasst Folgendes:
wenn gestartet
[Climb up or down with buttons 5 and 6.]
starte auf [500] [mm v] ▶
für immer
if [if controller.button5.pressing():] :: custom-switch-expand
steige [hoch v]
else [elif controller.button6.pressing():] :: custom-switch-expand
steige [runter v]
else [else:] :: custom-switch-expand
schweben
Ende
Ende
Boolescher Wert#
Der Boolean-Block bietet Platz für Python-Code, der True Falsezurückgibt. Er kann innerhalb von Blöcken mit hexagonalen Eingabefeldern platziert werden.
<[] :: custom-switch>
Ein Boolean-Block kann eine Python-Bedingung enthalten.
<[controller.button7.pressing()] :: custom-switch>
Ein Boolescher Block kann auch logische Operatoren verwenden:
<[controller.button5.pressing() and controller.button7.pressing()] :: custom-switch>
Ein Boolescher Block kann Vergleichsoperatoren verwenden, um Werte zu vergleichen:
Größer als:
>Kleiner als:
<Gleich:
==Weitere Vergleichsoperatoren sind
<=,!=, und>=
<[drone.inertial.get_heading()> 100] :: custom-switch>
wenn gestartet
[Move with the controller until button 7 is pressed.]
starte auf [500] [mm v] ▶
wiederhole bis <[controller.button7.pressing()] :: custom-switch>
mit Controller bewegen
Ende
landen ▶
Reporter#
Der Reporter-Block bietet Platz für Python-Code, der einen Wert zurückgibt. Er kann innerhalb von Blöcken mit zirkulären Eingaben platziert werden.
([] :: custom-switch)
Ein Reporter-Block kann Python-Code enthalten, der einen Wert zurückgibt.
([drone.get_altitude()] :: custom-switch)
Mathematische Operatoren können in einem Reporter-Block verwendet werden:
([drone.get_altitude() + 45] :: custom-switch)
wenn gestartet
[Display the altitude after climbing for 3 seconds.]
starte auf [500] [mm v] ▶
steige [hoch v]
warte [3] Sekunden
drucke ([drone.get_altitude()] :: custom-switch) auf Bildschirm ▶
landen ▶
Hut#
Der Hut-Block bietet Platz zum Definieren einer Python-Funktion. Blöcke, die unter dem Hut angehängt werden, bilden den Rumpf dieser Funktion.
[] :: hat custom-switch
Geben Sie im Hut-Block eine Python-Funktionsdefinition ein. Parameter gehören in die Klammern. Wenn die Funktion keine Parameter benötigt, verwenden Sie leere Klammern.
[def function_name(parameter):] :: hat custom-switch
[def take_off_500():] :: hat custom-switch
[Define a custom function using a Hat block.]
starte auf [500] [mm v] ▶
wenn gestartet
[take_off_500()] :: custom-switch