Control#
Introducción#
Los controles incluyen métodos para la temporización, el flujo del programa, la lógica condicional y la finalización del proyecto. Estos controles permiten pausar la ejecución, crear bucles, definir rutas lógicas y finalizar un programa. A continuación, se muestra una lista de los controles disponibles, incluyendo métodos y palabras clave fundamentales de Python:
wait – Pausa la ejecución durante una cantidad determinada de milisegundos o segundos.
for – Repite el código para cada elemento de una secuencia.
if – Ejecuta el código si una condición es verdadera.
if/else – Ejecuta código diferente dependiendo de una condición.
if/elif/else – Verifica múltiples condiciones en orden.
while – Repite el código mientras una condición sea verdadera.
break – Sale de un bucle inmediatamente.
stop_program – Finaliza el programa en ejecución.
pass – Marcador de posición utilizado cuando no se necesita ninguna acción.
Wait#
wait
hace una pausa durante un período de tiempo específico antes de pasar al siguiente método.
Uso:wait(time, units)
Parámetros |
Descripción |
---|---|
|
La cantidad de tiempo a esperar, como un entero positivo. |
|
Milisegundos |
# Move right for one second, then stop
robot.move_at(90)
wait(1, SECONDS)
robot.stop_all_movement()
For#
for
itera sobre una secuencia (como una lista, tupla, diccionario, conjunto o cadena) o cualquier objeto iterable. Ejecuta el bloque de código una vez por cada elemento de la secuencia.
Uso:
for value in expression_list:
pass
Parámetros |
Descripción |
---|---|
|
Una variable temporal que almacena el elemento actual en la iteración. |
|
La colección de elementos que se recorren en un bucle (por ejemplo, lista, cadena, rango). |
# 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()
If#
if
ejecuta el bloque de código sangrado si la condición se evalúa como True
.
Uso:
if condition:
pass
Parámetros |
Descripción |
---|---|
|
Una expresión o variable que se evalúa al ejecutar la instrucción. Si se evalúa como |
# Kick when the screen is pressed
while True:
if robot.screen.pressing():
robot.kicker.kick(MEDIUM)
wait(0.1, SECONDS)
If/Else#
if
y else
determinan qué bloque de código sangrado se ejecuta en función de si la condición se evalúa como True
o False
.
Uso:
if condition:
pass
else:
pass
Parámetros |
Descripción |
---|---|
|
Una expresión o variable que se evalúa al ejecutar la instrucción. Si se evalúa como |
# 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)
If/Elif/Else#
La estructura if/elif/else
selecciona qué bloque de código sangrado se ejecuta según las condiciones:
if
ejecuta su bloque si la condición se evalúa comoTrue
.elif
verifica condiciones adicionales solo si todas las condiciones anteriores se evaluaron comoFalse
Se pueden usar múltiples declaracioneselif
.else
ejecuta su bloque solo si ninguna de las condiciones anteriores se evaluó comoTrue
.
Uso:
if condition:
pass
elif condition:
pass
else:
pass
Parámetros |
Descripción |
---|---|
|
Una expresión o variable que se evalúa al ejecutar la instrucción. La primera condición que se evalúa como |
# 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)
While#
while
ejecuta métodos repetidamente mientras la condición sea True
También se puede usar como “Esperar hasta” añadiendo not
a la condición, como se muestra en el ejemplo a continuación.
Uso:
while condition:
pass
Parámetros |
Descripción |
---|---|
|
Una expresión o variable que se evalúa antes de cada iteración. Si se evalúa como |
# 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)
Break#
break
sale de un bucle inmediatamente.
# 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)
Stop Program#
stop_program
finaliza un proyecto en ejecución.
Uso:robot.stop_program()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
# 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()
Pass#
pass
es un marcador de posición para código futuro y se puede utilizar para evitar errores en bucles vacíos, condicionales y funciones.
if condition:
pass
def function():
pass