Control#

Introduction#

Control in Python lets you tell the robot when to wait, when to repeat actions, how to make decisions, and when to end the project.

Below is a list of available controls, including methods and core Python keywords:

  • wait — Pauses the project for a given time.

  • for — Repeats code for each item in a sequence.

  • if — Runs code if a condition is true.

  • if/else — Runs different code depending on a condition.

  • if/elif/else — Checks multiple conditions in order.

  • while — Repeats code while a condition is true.

  • break — Exits a loop immediately.

  • stop_program — Ends the running program.

  • pass — Placeholder used when no action is needed.

wait#

wait pauses for a specific amount of time before moving to the next line of code.

Usage:
wait(time, units)

Parameters

Description

time

The amount of time to wait, as a positive whole number or decimal.

units

The unit that represents the wait time: MSEC (default) – milliseconds, or SECONDS

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

for#

for repeats a set of actions a specific number of times. for can be used to loop through items in lists, tuples, dictionaries, sets, strings, or for a specified amount of loops with range.

Usage:

for value in expression_list:
    pass

Components

Description

value

A temporary variable that stores the current element in the iteration.

expression_list

The collection of elements being looped through (e.g., list, string, range).

# 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()

A screenshot of the IQ Brain screen with three lines of white text on the left side of the screen. The first line reads Red, the second directly below it reads Green, and the third below that reads Blue.

if#

if runs the indented block of code if the condition is True.

Usage:

if condition:
    pass

Components

Description

condition

An expression or variable that is checked when the statement runs. If it is True, the code inside the if block executes; if it is False, the block is skipped.

# 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 and else determine which indented block of code runs based on whether the condition is True or False.

Usage:

if condition:
    pass
else:
    pass

Components

Description

condition

An expression or variable that is checked when the statement runs. If it is True, the code inside the if block executes; if it is False, the code inside the else block executes instead.

# 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#

The if/elif/else structure selects which indented block of code runs based on conditions:

  • if runs its block if the condition is True.

  • elif checks additional conditions only if all previous conditions are False. Multiple elif statements can be used.

  • else runs its block only if none of the previous conditions are True.

Usage:

if condition:
    pass
elif condition:
    pass
else:
    pass

Components

Description

condition

An expression or variable that is checked when the statement runs. The first condition that is True determines which block executes; if none are True, the else block runs.

# 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)

while#

while repeatedly runs code as long as the condition is True. It can also be used like a “forever” by using True as the condition, or a “wait until” by adding not to the condition, as shown in the examples below.

Usage:

while condition:
    pass

Components

Description

condition

An expression or variable that is checked before each iteration. If it is True, the loop continues; if it is False, the loop stops.

# 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()

break#

break exits a loop immediately. break can be used to leave loops that otherwise would loop forever.

# 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 ends a running project.

Usage:
brain.program_stop()

Parameters

Description

This method has no parameters.

# 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)

pass#

pass is a placeholder for future code and can be used to avoid errors in empty loops, conditionals, and functions.

if condition:
    pass

def function():
    pass