Kontrolle#

Einführung#

Mit Control in Python können Sie dem Roboter mitteilen, wann er warten, wann er Aktionen wiederholen, wie er Entscheidungen treffen und wann er das Projekt beenden soll.

Nachfolgend finden Sie eine Liste aller Steuerelemente, einschließlich Methoden und wichtiger Python-Schlüsselwörter:

  • wait – Unterbricht das Projekt für eine bestimmte Zeit.

  • for – Wiederholt den Code für jedes Element in einer Sequenz.

  • if – Führt Code aus, wenn eine Bedingung wahr ist.

  • if/else – Führt je nach Bedingung unterschiedlichen Code aus.

  • if/elif/else – Überprüft mehrere Bedingungen der Reihe nach.

  • while – Wiederholt den Code, solange eine Bedingung wahr ist.

  • break – Verlässt die Schleife sofort.

  • stop_program – Beendet das laufende Programm.

  • pass – Platzhalter, der verwendet wird, wenn keine Aktion erforderlich ist.

Warten#

wait pausiert für eine bestimmte Zeitspanne, bevor zur nächsten Codezeile übergegangen wird.

Usage:
wait(time, units)

Parameter

Beschreibung

time

Die Wartezeit, als positive ganze Zahl oder Dezimalzahl.

units

Die Einheit, die die Wartezeit darstellt: MSEC (Standard) – Millisekunden oder SECONDS

# Move right for one second, then stop
robot.move_at(90)
wait(1, SECONDS)
robot.stop_all_movement()

Für#

for wiederholt eine Reihe von Aktionen eine bestimmte Anzahl Male. for kann verwendet werden, um Elemente in Listen, Tupeln, Wörterbüchern, Mengen, Zeichenketten oder für eine bestimmte Anzahl von Schleifen mit range zu durchlaufen.

Nutzung:

for value in expression_list:
    pass

Komponenten

Beschreibung

value

Eine temporäre Variable, die das aktuelle Element in der Iteration speichert.

expression_list

Die Sammlung von Elementen, die durchlaufen werden (z. B. Liste, Zeichenkette, Bereich).

# Move in a square path.
for index in range(4):
    robot.move_for(50, 0)
    robot.turn_for(RIGHT, 90)

# Print each item in the list
colors = ["Red", "Green", "Blue"]

for color in colors:
    robot.screen.print(color)
    robot.screen.next_row()

Zeigt drei Objekte auf dem Bildschirm an.

Wenn#

if den eingerückten Codeblock ausführt, wenn die Bedingung True ist.

Verwendung:

if condition:
    pass

Komponenten

Beschreibung

condition

Ein Ausdruck oder eine Variable, die bei der Ausführung der Anweisung geprüft wird. Ist sie wahr True, wird der Code im if Block ausgeführt; ist sie falsch ( False, wird der Block übersprungen.

# Kick when the screen is pressed
while True:
    if robot.screen.pressing():
        robot.kicker.kick(MEDIUM)
    wait(0.1, SECONDS)

Wenn/Sonst#

if und else bestimme, welcher eingerückte Codeblock ausgeführt wird, je nachdem, ob die Bedingung True oder False ist.

Verwendung:

if condition:
    pass
else:
    pass

Komponenten

Beschreibung

condition

Ein Ausdruck oder eine Variable, die bei der Ausführung der Anweisung geprüft wird. Ist sie wahr True, wird der Code im if Block ausgeführt; ist sie falsch ( False, wird stattdessen der Code im else Block ausgeführt.

# Show one emoji when the screen is pressed,
# and a different emoji when not pressed
while True:
    if robot.screen.pressing():
        robot.screen.show_emoji(EXCITED)

    else:
        robot.screen.show_emoji(BORED)
    
    wait(0.1, SECONDS)

Wenn/Elif/Sonst#

Die if/elif/else Struktur wählt anhand der Bedingungen aus, welcher eingerückte Codeblock ausgeführt wird:

  • if seinen Block ausführt, wenn die Bedingung True.

  • elif prüft zusätzliche Bedingungen nur dann, wenn alle vorherigen Bedingungen falsch sind. False. Es können mehrere elif Anweisungen verwendet werden.

  • else führt seinen Block nur dann aus, wenn keine der vorherigen Bedingungen True ist.

Verwendung:

if condition:
    pass
elif condition:
    pass
else:
    pass

Komponenten

Beschreibung

condition

Ein Ausdruck oder eine Variable, die bei der Ausführung der Anweisung geprüft wird. Die erste Bedingung, die wahr ist True , bestimmt, welcher Block ausgeführt wird; wenn keine der Bedingungen wahr ist True, wird der else Block ausgeführt.

# Move the robot forward or reverse
# based on the position of the joystick
def when_axis_changed():
    position = controller.axis1.position()
    if position > 0:
        robot.move_at(0)
    elif position < 0:
        robot.move_at(180)
    else:
        robot.stop_all_movement()

controller.axis1.changed(when_axis_changed)

Während#

while führt den Code so lange wiederholt aus, wie die Bedingung Trueist. Sie kann auch wie eine „Forever“ True als Bedingung verwendet, oder wie eine „Warte-bis“-Schleife, indem man not zur Bedingung hinzufügt, wie in den folgenden Beispielen gezeigt.

Verwendung:

while condition:
    pass

Komponenten

Beschreibung

condition

Ein Ausdruck oder eine Variable, die vor jeder Iteration überprüft wird. Ist sie True, wird die Schleife fortgesetzt; ist sie False, wird die Schleife beendet.

# Keep the LEDs green while the robot is moving
robot.move_for(200, 0, wait=False)
while robot.is_move_active():
    robot.led.on(ALL_LEDS, GREEN)
    wait(50, MSEC)

robot.led.on(ALL_LEDS, BLACK)

while True:
    # Continually flash all LEDs red then green.
    robot.led.on(ALL_LEDS, RED)
    wait(0.5, SECONDS)
    robot.led.on(ALL_LEDS, GREEN)
    wait(0.5, SECONDS)

# Wait until the screen is pressed before
# turning off the LEDs
while not robot.screen.pressing():
    robot.led.on(ALL_LEDS, RED)
    wait(50, MSEC)

robot.led.on(ALL_LEDS, BLACK)

Brechen#

break verlässt eine Schleife sofort. break kann verwendet werden, um Schleifen zu verlassen, die sonst endlos laufen würden.

# Flash LEDs until the screen is pressed
while True:
    robot.led.on(ALL_LEDS, RED)
    wait(0.5, SECONDS)
    robot.led.on(ALL_LEDS, GREEN)
    wait(0.5, SECONDS)

    if robot.screen.pressing():
        break

# Turn the LEDs Off
robot.led.off(ALL_LEDS)

Programm stoppen#

stop_program beendet ein laufendes Projekt.

Usage:
robot.stop_program()

Parameter

Beschreibung

Diese Methode hat keine Parameter.

# Stop the project once the screen is pressed
while True:
    robot.led.on(ALL_LEDS, RED)
    wait(0.5, SECONDS)
    robot.led.on(ALL_LEDS, GREEN)
    wait(0.5, SECONDS)
    if robot.screen.pressing():
        robot.stop_program()

Passieren#

pass ist ein Platzhalter für zukünftigen Code und kann verwendet werden, um Fehler in leeren Schleifen, Bedingungen und Funktionen zu vermeiden.

if condition:
    pass

def function():
    pass