Kontrollera#
Introduktion#
Kontroll i Python låter dig tala om för roboten när den ska vänta, när den ska upprepa åtgärder, hur den ska fatta beslut och när projektet ska avslutas.
Nedan följer en lista över tillgängliga kontroller, inklusive metoder och centrala Python-nyckelord:
wait– Pausar projektet under en given tid.for– Upprepar kod för varje objekt i en sekvens.if– Kör kod om ett villkor är sant.if/else– Kör olika kod beroende på ett villkor.if/elif/else– Kontrollerar flera villkor i ordning.while– Upprepar kod medan ett villkor är sant.break– Avslutar en loop omedelbart.stop_program– Avslutar det pågående programmet.pass– Platshållare används när ingen åtgärd behövs.
vänta#
wait pausar under en viss tid innan nästa kodrad går vidare.
Usage:wait(time, units)
Parametrar |
Beskrivning |
|---|---|
|
Väntetiden, som ett positivt heltal eller decimaltal. |
|
Enheten som representerar väntetiden: |
# 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)
för#
for upprepar en uppsättning åtgärder ett visst antal gånger. for kan användas för att loopa igenom objekt i listor, tupler, ordböcker, mängder, strängar eller för ett visst antal loopar med range.
Användning:
for value in expression_list:
pass
Komponenter |
Beskrivning |
|---|---|
|
En temporär variabel som lagrar det aktuella elementet i iterationen. |
|
Samlingen av element som loopas igenom (t.ex. lista, sträng, intervall). |
# 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)
om#
if kör det indragna kodblocket om villkoret är True.
Användande:
if condition:
pass
Komponenter |
Beskrivning |
|---|---|
|
Ett uttryck eller en variabel som kontrolleras när satsen körs. Om den är |
# 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)
om/annars#
if och else avgör vilket indenterat kodblock som körs baserat på om villkoret är True eller False.
Användande:
if condition:
pass
else:
pass
Komponenter |
Beskrivning |
|---|---|
|
Ett uttryck eller en variabel som kontrolleras när satsen körs. Om den är |
# 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)
om/elif/annars#
Strukturen if/elif/else väljer vilket indenterat kodblock som körs baserat på villkor:
ifkör sitt block om villkoret ärTrue.elifkontrollerar ytterligare villkor endast om alla föregående villkor ärFalseFleraelifpåståenden kan användas.elsesitt block endast om inget av de föregående villkoren ärTrue.
Användande:
if condition:
pass
elif condition:
pass
else:
pass
Komponenter |
Beskrivning |
|---|---|
|
Ett uttryck eller en variabel som kontrolleras när satsen körs. Det första villkoret, som är |
# 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)
medan#
while kör kod upprepade gånger så länge villkoret är True. Det kan också användas som ett “för alltid” genom att använda True som villkor, eller ett “vänta tills” genom att lägga till not till villkoret, som visas i exemplen nedan.
Användande:
while condition:
pass
Komponenter |
Beskrivning |
|---|---|
|
Ett uttryck eller en variabel som kontrolleras före varje iteration. Om den är |
# 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)
bryta#
break avslutar en loop omedelbart. break kan användas för att avsluta loopar som annars skulle loopa för evigt.
Användning:
break
Parametrar |
Beskrivning |
|---|---|
Det här sökordet har inga parametrar. |
# 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)
stoppprogram#
stop_program avslutar ett pågående projekt.
Usage:stop_program()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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)
passera#
pass är en platshållare för framtida kod och kan användas för att undvika fel i tomma loopar, villkor och funktioner.
Användning:
pass
Parametrar |
Beskrivning |
|---|---|
Det här sökordet har inga parametrar. |
if condition:
pass
def function():
pass