控制#
介绍#
Control includes methods for timing, program flow, conditional logic, and project termination. These controls let you pause execution, create loops, define logic paths, and end a project.
Below is a list of available controls, including methods and core Python keywords:
wait– Pauses execution for a given number of milliseconds or seconds.for– Repeats code for each item in a sequence.if– Executes 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)
参数 |
描述 |
|---|---|
|
等待的时间量,以正整数表示。 |
|
The unit to represent the time:
|
# Move right for one second, then stop
robot.move_at(90)
wait(1, SECONDS)
robot.stop_all_movement()
For#
for iterates over a sequence (such as a list, tuple, dictionary, set, or string) or any iterable object. It executes the block of code once for each item in the sequence.
使用量:
for value in expression_list:
pass
Components |
描述 |
|---|---|
|
存储迭代中的当前元素的临时变量。 |
|
循环遍历的元素集合(例如,列表、字符串、范围)。 |
# 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 executes the indented block of code if the condition evaluates to True.
用法:
if condition:
pass
参数 |
描述 |
|---|---|
|
An expression or variable that is evaluated when the statement runs. If it evaluates to |
# Kick when the screen is pressed
while True:
if robot.screen.pressing():
robot.kicker.kick(MEDIUM)
wait(0.1, SECONDS)
If/Else#
if and else determine which indented block of code runs based on whether the condition evaluates to True or False.
用法:
if condition:
pass
else:
pass
参数 |
描述 |
|---|---|
|
An expression or variable that is evaluated when the statement runs. If it evaluates to |
# 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#
The if/elif/else structure selects which indented block of code runs based on conditions:
ifruns its block if the condition evaluates toTrue.elifchecks additional conditions only if all previous conditions evaluated t0False. Multipleelifstatements can be used.elseruns its block only if none of the previous conditions evaluated toTrue.
用法:
if condition:
pass
elif condition:
pass
else:
pass
参数 |
描述 |
|---|---|
|
An expression or variable that is evaluated when the statement runs. The first condition that evaluates to |
# 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 repeatedly runs code as long as the condition is True. It can also be used like a “Wait until” by adding not to the condition, as shown in the example below.
用法:
while condition:
pass
参数 |
描述 |
|---|---|
|
An expression or variable that is evaluated before each iteration. If it evaluates to |
# 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 exits a loop immediately.
使用量:
break
参数 |
描述 |
|---|---|
This keyword has no parameters. |
# 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 ends a running project.
Usage:robot.stop_program()
参数 |
描述 |
|---|---|
该方法没有参数。 |
# 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 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