Control#

Introducción#

Control en Python te permite decirle al robot cuándo esperar, cuándo repetir acciones, cómo tomar decisiones y cuándo finalizar el proyecto.

A continuación se muestra una lista de controles disponibles, incluidos los métodos y las palabras clave principales de Python:

  • wait — Pausa el proyecto durante un tiempo determinado.

  • for — Repite el código para cada elemento en una secuencia.

  • if — Ejecuta el código si una condición es verdadera.

  • if/else: ejecuta un código diferente dependiendo de una condición.

  • if/elif/else — Comprueba varias condiciones en orden.

  • while — Repite el código mientras una condición es 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.

esperar#

wait pausas durante un tiempo específico antes de pasar a la siguiente línea de código.

Usage:
wait(time, units)

Parámetros

Descripción

time

La cantidad de tiempo para esperar, como un número entero positivo o decimal.

units

La unidad que representa el tiempo de espera: MSEC (predeterminado) – milisegundos o SECONDS

# Turn right for one second, then stop
drivetrain.turn(RIGHT)
wait(1, SECONDS)
drivetrain.stop()

para#

for repite un conjunto de acciones un número específico de veces. for puede usar para recorrer elementos en listas, tuplas, diccionarios, conjuntos, cadenas o para una cantidad específica de bucles con range.

Uso:

for value in expression_list:
    pass

Componentes

Descripción

value

Variable temporal que almacena el elemento actual en la iteración.

expression_list

La colección de elementos que se repiten (por ejemplo, lista, cadena, rango).

# Move in a square path
for index in range(4):
    drivetrain.drive_for(FORWARD, 100, MM)
    drivetrain.turn_for(RIGHT, 90)

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

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

Una captura de pantalla de la pantalla IQ Brain con tres líneas de texto blanco en el lado izquierdo de la pantalla. La primera línea dice rojo, la segunda directamente debajo dice verde y la tercera debajo dice azul.

si#

if ejecuta el bloque de código con sangría si la condición es True.

Uso:

if condition:
    pass

Componentes

Descripción

condition

Una expresión o variable que se comprueba cuando se ejecuta la instrucción. Si es True, se ejecuta el código dentro del bloque if ; si es False, se omite el bloque.

# Turn right when a button is pressed
while True:
    if brain.buttonCheck.pressing():
        drivetrain.turn_for(RIGHT, 90)
    wait(0.1, SECONDS)

if/else#

if y else determinan qué bloque de código con sangría se ejecuta en función de si la condición es True o False.

Uso:

if condition:
    pass
else:
    pass

Componentes

Descripción

condition

Una expresión o variable que se comprueba cuando se ejecuta la instrucción. Si es True, se ejecuta el código dentro del bloque if ; si es False, se ejecuta el código dentro del bloque else.

# Turn right when a button is pressed, and remain still
# when the button is not pressed
while True:
    if brain.buttonCheck.pressing():
        drivetrain.turn(RIGHT)
    else:
        drivetrain.stop()
    wait(0.1, SECONDS)

if/elif/else#

La estructura if/elif/else selecciona qué bloque de código con sangría se ejecuta en función de las condiciones:

  • if ejecuta su bloque si la condición es True.

  • elif comprueba las condiciones adicionales solo si todas las condiciones anteriores son elif. Se pueden usar múltiples False sentencias elif.

  • else ejecuta su bloque solo si ninguna de las condiciones anteriores es True.

Uso:

if condition:
    pass
elif condition:
    pass
else:
    pass

Componentes

Descripción

condition

Una expresión o variable que se comprueba cuando se ejecuta la instrucción. La primera condición que es True determina qué bloque se ejecuta; si ninguno es True, se ejecuta el bloque else.

# Turn depending on what button is pressed
while True:
    if brain.buttonRight.pressing():
        drivetrain.turn(RIGHT)
    elif brain.buttonLeft.pressing():
        drivetrain.turn(LEFT)
    else:
        drivetrain.stop()
    wait(0.1, SECONDS)

mientras#

while repetidamente el código siempre que la condición sea True. También se puede usar como un “para siempre” usando True como condición, o un “esperar hasta” agregando not a la condición, como se muestra en los ejemplos a continuación.

Uso:

while condition:
    pass

Componentes

Descripción

condition

Una expresión o variable que se comprueba antes de cada iteración. Si es True, el bucle continúa; si es False, el bucle se detiene.

# Keep the screen green while the robot is moving
drivetrain.drive_for(FORWARD, 200, MM, wait=False)
while drivetrain.is_moving():
    brain.screen.clear_screen(Color.GREEN)
    wait(50, MSEC)

brain.screen.clear_screen(Color.BLACK)

while True:
    # Move in a square path forever
    drivetrain.drive_for(FORWARD, 150, MM)
    drivetrain.turn_for(RIGHT, 90)

# Wait until a button is pressed to stop driving
drivetrain.drive(FORWARD)
while not brain.buttonCheck.pressing():
    wait(50, MSEC)
drivetrain.stop()

pausa#

break sale de un bucle inmediatamente. break puede usar para dejar bucles que de otro modo formarían un bucle para siempre.

# Stop turning after a button is pressed
while True:
    drivetrain.turn(RIGHT)
    if brain.buttonCheck.pressing():
        break
drivetrain.stop()
brain.play_sound(SoundType.POWER_DOWN)

stop_program#

program_stop finaliza un proyecto en ejecución.

Usage:
brain.program_stop()

Parámetros

Descripción

Este método no tiene parámetros.

# Stop the project after a button is pressed
while True:
    drivetrain.turn(RIGHT)
    if brain.buttonCheck.pressing():
        brain.program_stop()
    brain.play_sound(SoundType.POWER_DOWN)

aprobado#

pass es un marcador de posición para el código futuro y se puede usar para evitar errores en bucles vacíos, condicionales y funciones.

if condition:
    pass

def function():
    pass