Lição 2: Ações repetidas
Agora que o Robô VR desenhou um quadrado no Art Canvas Playground usando a Caneta, você aprenderá a usar para loops e simplificar o seu projeto. Esta lição irá guiá-lo através dos passos para desenhar um quadrado no Art Canvas Playground utilizando um loop para.

Resultados de Aprendizagem
- Identifique como utilizar um ciclo for para repetir os comandos dentro do mesmo por um determinado número de vezes.
- Identifique que o ciclo para inclui uma variável de ‘valor’ e uma função de intervalo para identificar o número de repetições.
- Identifique que a função intervalo de um ciclo para identifica quantas vezes o ciclo se deve repetir.
- Identifique que a função intervalo de um loop para pode aceitar números inteiros como parâmetros.
- Descreva por que razão um ciclo para seria utilizado num projeto.
- Descreva o fluxo de um projeto que contém um loop para.
Mudar o nome do projeto
- Se o projeto da lição anterior ainda não estiver carregado, carregue o projeto Unit3Lesson1.
- Para mudar o nome do projeto, marque a caixa de nome do projeto.

- Introduza o novo nome do projetoUnit3Lesson2 e selecione "Guardar".

Ações repetidas
O ciclo for é utilizado para repetir os comandos dentro dele um determinado número de vezes. O ciclo para poupa tempo e esforço ao criar projetos em que os comandos se repetem. Em vez de perder tempo a arrastar ou a digitar comandos adicionais ou a duplicar os comandos existentes no ambiente de trabalho, o ciclo para pode ser utilizado para poupar espaço e tempo.
Este projeto utilizará um ciclo para para fazer com que o VR Robot desenhe os quatro lados de um quadrado, repetindo os comandos para desenhar um lado, quatro vezes.
- Comece por modificar o projeto anterior, copiar o projeto abaixo ou criar um novo projeto para corresponder a este projeto base.
def main():
pen.move (DOWN)
drivetrain.drive_for (FORWARD, 600, MM)
drivetrain.turn_for (RIGHT, 90, DEGREES)
drivetrain.drive_for (FORWARD, 600, MM)
drivetrain.turn_for (RIGHT, 90, DEGREES)
drivetrain.drive_for (FORWARD, 600, MM)
drivetrain.turn_for (RIGHT, 90, DEGREES)
drivetrain.drive_for (FORWARD, 600, MM)
drivetrain.turn_for (RIGHT, 90, DEGREES)
-
Os comandos repetidos neste projeto são os comandos drive_for e turn_for . Retire os seis comandos inferiores do projeto, de modo a que apenas um comando drive_for e um comando turn_for fiquem abaixo do comando move , e o projeto fique assim:
def main(): pen.move(DOWN) drivetrain.drive_for(FORWARD, 600, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) -
Arraste um ciclo for até ao fim da função principal , para que o seu projeto fique assim. Note que o ciclo for preencherá automaticamente um comando wait interno. Não remova o comando wait , isto irá garantir que o robô VR se comporta corretamente.
def main(): pen.move(DOWN) drivetrain.drive_for(FORWARD, 600, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) for repeat_count in range(10): wait(5, MSEC) - Para que o ciclo for repita os comandos do Drivetrain para desenhar um lado do quadrado, estes comandos necessitam de estar dentro do ciclo for , que é indicado por indentação. Adicione duas linhas entre o ciclo for e o comando wait para libertar espaço para os comandos Drivetrain.

- De seguida, para mover os comandos Drivetrain dentro do ciclo for , copie e cole os comandos abaixo do cabeçalho do ciclo for , destaque os comandos e arraste os comandos drive_for e turn_for entre o cabeçalho do ciclo e o comando wait ou copie-os e cole-os do projeto abaixo.
def main():
pen.move(DOWN)
for value in range(10):
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(5, MSEC)- Certifique-se de que os comandos dentro do ciclo for estão devidamente indentados, utilizando a linha cinzenta à esquerda como guia que indica quais os comandos que estão dentro do ciclo for
Para sua informação
A indentação é muito importante em Python. O recuo dos comandos determina como um projeto é executado. No caso de um ciclo for , os comandos recuados no mesmo serão executados como parte do ciclo. Você pode usar as linhas à esquerda dos comandos, como guias visuais de como os comandos estão sendo agrupados dentro de um loop.

Erros na indentação podem afetar o fluxo do seu projeto e fazer com que o seu projeto não seja executado como pretendido. A falta de indentação, ou indentação desigual, como mostrado aqui, deve ser evitada para que seu código funcione como pretendido.

O VEXcode VR pode solicitar que você resolva erros de indentação antes de poder executar seu projeto. Estes erros podem ser identificados na Consola de Impressão, para que possa resolver facilmente o problema e executar o seu projeto.
- Agora que os comandos do Drivetrain para desenhar um lado do quadrado estão dentro do ciclo, o parâmetro da função range pode ser definido. Para desenhar um quadrado, quatro lados devem ser desenhados. Para repetir os comandos quatro vezes, defina o parâmetro da função range no cabeçalho do ciclo for para “4” para que um robô VR desenhe todos os quatro lados de um quadrado.

Para sua informação
A função intervalo no cabeçalho do ciclo for pode aceitar números inteiros. Decimais (ou flutuadores) não funcionarão como um parâmetro para um loop for. O parâmetro predefinido para a função intervalo é '10'.

- Selecione o botão "Abrir Playground" para abrir o Art Canvas Playground, se ainda não estiver aberto, e inicie o projeto.

-
Veja o robô VR avançar e virar à direita quatro vezes no Art Canvas Playground para desenhar um quadrado com a caneta.

Selecione o botão Seguinte para continuar com o resto desta lição.