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 hij het project moet beëindigen.
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.program_stop– 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 |
|---|---|
|
De te wachten tijd, als een positief geheel getal of decimaal getal. |
|
De eenheid die de wachttijd weergeeft: |
# Move the arm to the desired position and then blink the signal tower
arm.move_to(40, 140, 210, False)
wait(1, SECONDS)
signal_tower.set_color(SignalTower.BLUE, SignalTower.BLINK)
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 |
|---|---|
|
Een tijdelijke variabele die het huidige element in de iteratie opslaat. |
|
De verzameling elementen waar doorheen wordt geloopt (bijvoorbeeld een lijst, tekenreeks of bereik). |
# Move the arm 4 times by 100 millimeters on the y axis
for index in range(4):
arm.move_inc(0, 100, 0)
als#
if het ingesprongen codeblok uitvoert als de voorwaarde True.
Gebruik:
if condition:
pass
Onderdelen |
Beschrijving |
|---|---|
|
Een expressie of variabele die wordt gecontroleerd wanneer de instructie wordt uitgevoerd. Als deze |
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
print("\033[2J")
print(brain.timer_time(SECONDS))
wait(50, MSEC)
if arm.is_done():
brain.timer_reset()
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 |
|---|---|
|
Een expressie of variabele die wordt gecontroleerd wanneer de instructie wordt uitgevoerd. Als deze |
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
if arm.is_done():
brain.timer_reset()
else:
print("\033[2J")
print(brain.timer_time(SECONDS))
wait(50, MSEC)
als/anders#
De if/elif/else structuur selecteert welk ingesprongen codeblok wordt uitgevoerd op basis van voorwaarden:
ifzijn blok uitvoert als de voorwaardeTrue.elifcontroleert alleen extra voorwaarden als alle voorgaande voorwaardenFalseEr kunnen meerdereelif-instructies worden gebruikt.elsevoert zijn codeblok alleen uit als geen van de voorgaande voorwaardenTrue.
Gebruik:
if condition:
pass
elif condition:
pass
else:
pass
Onderdelen |
Beschrijving |
|---|---|
|
Een expressie of variabele die wordt gecontroleerd wanneer de instructie wordt uitgevoerd. De eerste voorwaarde die |
# Change the signal tower light if arm can reach to the desired position
while True:
if arm.can_arm_reach_to(200, 200, 200):
signal_tower.set_color(SignalTower.BLUE, SignalTower.BLINK)
elif arm.can_arm_reach_to(300, 300, 300):
signal_tower.set_color(SignalTower.GREEN, SignalTower.BLINK)
else:
signal_tower.set_color(SignalTower.ALL, SignalTower.OFF)
wait(50, MSEC)
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 |
|---|---|
|
Een expressie of variabele die vóór elke iteratie wordt gecontroleerd. Als deze |
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
if arm.is_done():
break
else:
print("\033[2J")
print(brain.timer_time(SECONDS))
wait(50, MSEC)
# Blink blue light until the move is completed
signal_tower.set_color(SignalTower.BLUE, SignalTower.BLINK)
arm.move_to(-100, 200, 100, False)
while not arm.is_done():
wait(0.2, SECONDS)
signal_tower.set_color(SignalTower.BLUE, SignalTower.ON)
pauze#
break verlaat een lus onmiddellijk. break kan worden gebruikt om lussen te verlaten die anders oneindig zouden doorlopen.
# Display the time until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
if arm.is_done():
break
else:
print("\033[2J")
print(brain.timer_time(SECONDS))
wait(50, MSEC)
programma_stop#
program_stop beëindigt een lopend project.
Usage:brain.program_stop()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# Stop the project until the move is completed
arm.move_to(-100, 200, 100, False)
while True:
if arm.is_done():
break
else:
print("\033[2J")
print(brain.timer_time(SECONDS))
wait(50, MSEC)
brain.program_stop()
doorgang#
pass is een placeholder voor toekomstige code en kan worden gebruikt om fouten in lege lussen, voorwaardelijke instructies en functies te voorkomen.
if condition:
pass
def function():
pass