Controle#

Invoering#

Met besturing in Python kun je de robot vertellen wanneer hij moet wachten, wanneer hij acties moet herhalen, hoe hij beslissingen moet nemen en wanneer het project moet eindigen.

Hieronder vindt u een lijst met beschikbare besturingselementen, inclusief methoden en belangrijke Python-trefwoorden:

  • wait – Pauzeert het project voor een bepaalde tijd.

  • for – Herhaalt de code voor elk item in een reeks.

  • if – Voert code uit als een voorwaarde waar is.

  • if/else – Voert verschillende code uit afhankelijk van een voorwaarde.

  • if/elif/else – Controleert meerdere voorwaarden in volgorde.

  • while – Herhaalt code zolang een voorwaarde waar is.

  • break – Verlaat een lus onmiddellijk.

  • stop_program – Beëindigt het draaiende programma.

  • pass – Plaatsaanduiding die wordt gebruikt wanneer er geen actie nodig is.

wachten#

wait pauzeert gedurende een bepaalde tijd voordat de volgende regel code wordt uitgevoerd.

Usage:
wait(time, units)

Parameters

Beschrijving

time

De te wachten tijd, als een positief geheel getal of decimaal getal.

units

De eenheid die de wachttijd weergeeft: MSEC (standaard) – milliseconden, of SECONDS

# Build Used: Super Code Base 2.0
def main():
    # Turn right for one second
    drivetrain.turn(RIGHT)
    wait(1, SECONDS)
    drivetrain.stop()

# Start threads — Do not delete
start_thread(main)

voor#

for herhaalt een reeks acties een specifiek aantal keren. for kan worden gebruikt om door items in lijsten, tuples, dictionaries, sets, strings te lopen, of voor een gespecificeerd aantal herhalingen met range.

Gebruik:

for value in expression_list:
    pass

Onderdelen

Beschrijving

value

Een tijdelijke variabele die het huidige element in de iteratie opslaat.

expression_list

De verzameling elementen waar doorheen wordt geloopt (bijvoorbeeld een lijst, tekenreeks of bereik).

# Build Used: Super Code Base 2.0
def main():
    # Move in a square path
    for index in range(4):
        drivetrain.drive_for(FORWARD, 100, MM)
        drivetrain.turn_for(RIGHT, 90)

# Start threads — Do not delete
start_thread(main)

als#

if het ingesprongen codeblok uitvoert als de voorwaarde True.

Gebruik:

if condition:
    pass

Onderdelen

Beschrijving

condition

Een expressie of variabele die wordt gecontroleerd wanneer de instructie wordt uitgevoerd. Als deze Trueis, wordt de code binnen het if blok uitgevoerd; als deze Falseis, wordt het blok overgeslagen.

# Build Used: Super Code Base 2.0
def main():
    # Turn when the bumper is pressed
    while True:
        if bumper.is_pressed():
            drivetrain.turn_for(RIGHT, 90)
        wait(0.1, SECONDS)

# Start threads — Do not delete
start_thread(main)

als/anders#

if en else bepaal welk ingesprongen codeblok wordt uitgevoerd op basis van of de voorwaarde True of False is.

Gebruik:

if condition:
    pass
else:
    pass

Onderdelen

Beschrijving

condition

Een expressie of variabele die wordt gecontroleerd wanneer de instructie wordt uitgevoerd. Als deze Trueis, wordt de code binnen het if blok uitgevoerd; als deze Falseis, wordt in plaats daarvan de code binnen het else blok uitgevoerd.

# Build Used: Super Code Base 2.0
def main():
    # Turn when the bumper is pressed
    while True:
        if bumper.is_pressed():
            drivetrain.turn(RIGHT)
        else:
            drivetrain.stop()
        wait(0.1, SECONDS)

# Start threads — Do not delete
start_thread(main)

als/anders#

De if/elif/else structuur selecteert welk ingesprongen codeblok wordt uitgevoerd op basis van voorwaarden:

  • if zijn blok uitvoert als de voorwaarde True.

  • elif controleert alleen extra voorwaarden als alle voorgaande voorwaarden FalseEr kunnen meerdere elif -instructies worden gebruikt.

  • else voert zijn codeblok alleen uit als geen van de voorgaande voorwaarden True.

Gebruik:

if condition:
    pass
elif condition:
    pass
else:
    pass

Onderdelen

Beschrijving

condition

Een expressie of variabele die wordt gecontroleerd wanneer de instructie wordt uitgevoerd. De eerste voorwaarde die True bepaalt welk blok wordt uitgevoerd; als geen enkele True, wordt het else blok uitgevoerd.

# Build Used: Super Code Base 2.0
def main():
    # Change the LED while turning
    drivetrain.turn(RIGHT)
    while True:
        if drivetrain.get_heading() < 120:
            bumper.set_color(OFF)
        elif drivetrain.get_heading() < 240:
            bumper.set_color(RED)
        else:
            bumper.set_color(GREEN)
        wait(0.2, SECONDS)

# Start threads — Do not delete
start_thread(main)

terwijl#

while herhaaldelijk code uitvoert zolang de voorwaarde Trueis. Het kan ook worden gebruikt als een “voor altijd” door True als voorwaarde te gebruiken, of als een “wacht tot” door not aan de voorwaarde toe te voegen, zoals in de onderstaande voorbeelden wordt getoond.

Gebruik:

while condition:
    pass

Onderdelen

Beschrijving

condition

Een expressie of variabele die vóór elke iteratie wordt gecontroleerd. Als deze Trueis, gaat de lus verder; als deze Falseis, stopt de lus.

# Build Used: Super Code Base 2.0
def main():
    # Turn when the bumper is pressed
    while True:
        if bumper.is_pressed():
            drivetrain.turn(RIGHT)
        else:
            drivetrain.stop()
        wait(0.1, SECONDS)

# Start threads — Do not delete
start_thread(main)

# Build Used: Super Code Base 2.0
def main():
    # Turn the other direction when the bumper is pressed
    drivetrain.turn(LEFT)
    while not bumper.is_pressed():
        wait(0.2, SECONDS)
    drivetrain.turn(RIGHT)

# Start threads — Do not delete
start_thread(main)

pauze#

break verlaat een lus onmiddellijk. break kan worden gebruikt om lussen te verlaten die anders oneindig zouden doorlopen.

Gebruik:

break

Parameters

Beschrijving

Dit trefwoord heeft geen parameters.

# Build Used: Super Code Base 2.0
def main():
    # Stop turning after pressing the bumper
    while True:
        drivetrain.turn(RIGHT)
        if bumper.is_pressed():
            break
        wait(0.2, SECONDS)
    drivetrain.stop()
    bumper.set_color(RED)

# Start threads — Do not delete
start_thread(main)

stop_program#

stop_program beëindigt een lopend project.

Usage:
stop_program()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# Build Used: Super Code Base 2.0
def main():
    # Stop the project after pressing the bumper
    while True:
        drivetrain.turn(RIGHT)
        if bumper.is_pressed():
            break
        wait(0.2, SECONDS)
    stop_program()

# Start threads — Do not delete
start_thread(main)

doorgang#

pass is een placeholder voor toekomstige code en kan worden gebruikt om fouten in lege lussen, voorwaardelijke instructies en functies te voorkomen.

Gebruik:

pass

Parameters

Beschrijving

Dit trefwoord heeft geen parameters.

if condition:
    pass

def function():
    pass