Контроль#
Введение#
В Python функция управления позволяет указывать роботу, когда нужно ждать, когда повторять действия, как принимать решения и когда завершать проект.
Ниже приведён список доступных элементов управления, включая методы и основные ключевые слова Python:
wait– Приостанавливает проект на заданное время.for– Повторяет код для каждого элемента в последовательности.if– Выполняет код, если условие истинно.if/else– Выполняет разный код в зависимости от условия.if/elif/else– Проверяет несколько условий по порядку.while– Повторяет код, пока условие истинно.break– Немедленно выходит из цикла.stop_program– Завершает выполнение программы.pass– Заполнитель используется, когда никаких действий не требуется.
ждать#
wait — пауза на определенное время перед переходом к следующей строке кода.
Usage:wait(time, units)
Параметры |
Описание |
|---|---|
|
Время ожидания, выраженное в виде положительного целого числа или десятичной дроби. |
|
Единица измерения времени ожидания: |
# 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)
для#
for повторяет набор действий определенное количество раз. for можно использовать для перебора элементов в списках, кортежах, словарях, множествах, строках или для заданного количества циклов с range.
Использование:
for value in expression_list:
pass
Компоненты |
Описание |
|---|---|
|
Временная переменная, хранящая текущий элемент в итерации. |
|
Набор элементов, по которым выполняется цикл (например, список, строка, диапазон). |
# 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)
если#
if выполняет блок кода с отступом, если условие True.
Применение:
if condition:
pass
Компоненты |
Описание |
|---|---|
|
An expression or variable that is checked when the statement runs. If it is |
# 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)
if/else#
if и else определяет, какой блок кода с отступом будет выполнен в зависимости от того, истинно ли условие True или ложно False.
Применение:
if condition:
pass
else:
pass
Компоненты |
Описание |
|---|---|
|
An expression or variable that is checked when the statement runs. If it is |
# 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)
if/elif/else#
Структура if/elif/else выбирает, какой блок кода с отступом будет выполняться в зависимости от условий:
ifвыполняет свой блок, если условие истинноTrue.elifпроверяет дополнительные условия только в том случае, если все предыдущие условия ложныFalse. Можно использовать несколько операторовelif.elseвыполняет свой блок только в том случае, если ни одно из предыдущих условий не выполняетсяTrue.
Применение:
if condition:
pass
elif condition:
pass
else:
pass
Компоненты |
Описание |
|---|---|
|
An expression or variable that is checked when the statement runs. The first condition that is |
# 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)
пока#
while многократно выполняет код до тех пор, пока условие истинно TrueЕго также можно использовать как “навсегда”, используя условие True , или как “ждать до”, добавив к условию not , как показано в примерах ниже.
Применение:
while condition:
pass
Компоненты |
Описание |
|---|---|
|
Выражение или переменная, проверяемая перед каждой итерацией. Если она равна |
# 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)
перерыв#
break немедленный выход из цикла. break можно использовать для выхода из циклов, которые в противном случае зацикливались бы бесконечно.
Использование:
break
Параметры |
Описание |
|---|---|
Это ключевое слово не имеет параметров. |
# 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)
остановка_программы#
stop_program завершает выполнение проекта.
Usage:stop_program()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# 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)
проходить#
pass — это заполнитель для будущего кода, который можно использовать для предотвращения ошибок в пустых циклах, условных операторах и функциях.
Использование:
pass
Параметры |
Описание |
|---|---|
Это ключевое слово не имеет параметров. |
if condition:
pass
def function():
pass