Controlo#
Introdução#
O controlo em Python permite dizer ao robô quando esperar, quando repetir ações, como tomar decisões e quando terminar o projeto.
A seguir, é apresentada uma lista dos controlos disponíveis, incluindo os métodos e palavras-chave principais do Python:
wait– Faz uma pausa no projeto durante um determinado tempo.for– Repete o código para cada item de uma sequência.if– Executa o código se uma condição for verdadeira.if/else– Executa código diferente consoante uma condição.if/elif/else– Verifica múltiplas condições por ordem.while– Repete o código enquanto uma condição for verdadeira.break– Sai de um ciclo imediatamente.stop_project– Termina o projeto em execução.pass– Espaço reservado utilizado quando não é necessária qualquer ação.
espera#
wait pausa durante um período de tempo específico antes de passar para a linha de código seguinte.
Usage:wait(time, units)
Parâmetros |
Descrição |
|---|---|
|
O tempo de espera, expresso como um número inteiro positivo ou decimal. |
|
A unidade que representa o tempo de espera: |
def main():
# Turn right for one second, then stop
drivetrain.turn(RIGHT)
wait(1, SECONDS)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
para#
for repete um conjunto de ações um número específico de vezes. for pode ser utilizado para percorrer itens em listas, tuplas, dicionários, conjuntos, strings ou para uma quantidade especificada de ciclos com range.
Utilização:
for value in expression_list:
pass
Componentes |
Descrição |
|---|---|
|
Uma variável temporária que armazena o elemento atual na iteração. |
|
A coleção de elementos que está a ser percorrida em loop (por exemplo, lista, string, intervalo). |
def main():
# Move in a square path
for index in range(4):
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
# VR threads — Do not delete
vr_thread(main)
def main():
# Print each item in the list
colors = ["Red", "Green", "Blue"]
for color in colors:
brain.print(color)
brain.new_line()
# VR threads — Do not delete
vr_thread(main)
se#
if executa o bloco de código indentado se a condição for True.
Utilização:
if condition:
pass
Componentes |
Descrição |
|---|---|
|
Uma expressão ou variável que é verificada quando a instrução é executada. Se for |
def main():
# Turn right until facing south
while True:
if drivetrain.heading(DEGREES) < 180:
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(0.1, SECONDS)
# VR threads — Do not delete
vr_thread(main)
se/senão#
if e else determina qual o bloco de código indentado que é executado com base no facto de a condição ser True ou False.
Utilização:
if condition:
pass
else:
pass
Componentes |
Descrição |
|---|---|
|
Uma expressão ou variável que é verificada quando a instrução é executada. Se for |
def main():
# Drive after turning around
while True:
if drivetrain.rotation(DEGREES) < 180:
drivetrain.turn_for(RIGHT, 90, DEGREES)
else:
drivetrain.drive(FORWARD)
wait(0.1, SECONDS)
# VR threads — Do not delete
vr_thread(main)
if/elif/else#
A estrutura if/elif/else selecciona qual o bloco de código indentado que será executado com base em determinadas condições:
ifexecuta o seu bloco se a condição forTrue.elifverifica condições adicionais apenas se todas as condições anteriores foremFalse. Podem ser utilizadas várias instruçõeselif.elseexecuta o seu bloco apenas se nenhuma das condições anteriores forTrue.
Utilização:
if condition:
pass
elif condition:
pass
else:
pass
Componentes |
Descrição |
|---|---|
|
Uma expressão ou variável que é verificada quando a instrução é executada. A primeira condição que é |
def main():
# Move depending on the detected color
while True:
if front_eye.detect(RED):
drivetrain.drive(FORWARD)
elif front_eye.detect(GREEN):
drivetrain.drive(REVERSE)
else:
drivetrain.turn(RIGHT)
wait(0.1, SECONDS)
# VR threads — Do not delete
vr_thread(main)
enquanto#
while executa o código repetidamente enquanto a condição for TrueTambém pode ser utilizado como um “para sempre” utilizando True como condição, ou um “espere até” adicionando not à condição, como se mostra nos exemplos abaixo.
Utilização:
while condition:
pass
Componentes |
Descrição |
|---|---|
|
Uma expressão ou variável que é verificada antes de cada iteração. Se for |
def main():
while True:
# Move in a square path forever
drivetrain.drive_for(FORWARD, 150, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
# VR threads — Do not delete
vr_thread(main)
def main():
# Wait until an object is detected to stop driving
drivetrain.drive(FORWARD)
while not front_distance.found_object():
wait(50, MSEC)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
pausa#
break sai de um ciclo imediatamente. break pode ser utilizado para sair de ciclos que, de outra forma, continuariam em ciclo infinito.
def main():
# Stop turning after a button is pressed
while True:
drivetrain.turn(RIGHT)
if front_distance.found_object():
break
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
parar_projeto#
stop_project termina um projeto em execução.
Usage:stop_project()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
def main():
# Stop the project after a button is pressed
while True:
drivetrain.turn(RIGHT)
if front_distance.found_object():
stop_program()
drivetrain.drive(FORWARD)
# VR threads — Do not delete
vr_thread(main)
passar#
pass é um marcador de posição para código futuro e pode ser utilizado para evitar erros em loops, condicionais e funções vazias.
if condition:
pass
def function():
pass