Skip to main content

Lección 2: Repetición de acciones

Ahora que el robot VR ha dibujado un cuadrado en el lienzo de arte Patio de juegos usando el lápiz, aprenderá a usar bucles para y simplificará su proyecto. Esta lección lo guiará a través de los pasos para dibujar un cuadrado en el lienzo de arte Patio de juegos usando un bucle para.

Parque infantil Art Canvas con un cuadrado negro dibujado en él. El robot VR se coloca en el centro del patio de recreo, en la esquina inferior izquierda del cuadrado.

Resultados de aprendizaje

  • Identifique cómo utilizar un bucle para para repetir los comandos dentro de él durante un número determinado de veces.
  • Identifique que el bucle para incluye una variable 'valor' y una función de rango  para identificar el número de repeticiones. 
  • Identifique que la función rango de un bucle para identifica cuántas veces debe repetirse el bucle.
  • Identifique que la función de rango  de un bucle para puede aceptar números enteros como parámetros.
  • Describe por qué se utilizaría un bucle para en un proyecto.
  • Describe el flujo de un proyecto que contiene un bucle para.

Cambiar el nombre del proyecto

  • Si el proyecto de la lección anterior aún no está cargado, cargue el proyecto Unit3Lesson1.
  • Cambie el nombre del proyecto seleccionando el cuadro de nombre del proyecto.
    Barra de herramientas de RV con el cuadro de nombre del proyecto resaltado. El nombre en el cuadro es Unidad 3 Lección 1.
  • Introduzca el nuevo nombre del proyectoUnit3Lesson2 y seleccione "Guardar".
    Barra de herramientas de RV con el cuadro de diálogo del nombre del proyecto abierto. El proyecto ha sido renombrado a la Unidad 3 Lección 2, y el botón guardar está resaltado con un cuadro rojo.

Repetición de acciones

El bucle para se utiliza para repetir los comandos dentro de él una cantidad determinada de veces. El bucle para ahorra tiempo y esfuerzo al crear proyectos en los que los comandos se repiten. En lugar de tomarse el tiempo para arrastrar o escribir  adicionales o duplicar comandos existentes en el espacio de trabajo, se puede usar el bucle para para ahorrar espacio y tiempo.

Este proyecto utilizará un bucle para para impulsar al robot VR a dibujar los cuatro lados de un cuadrado repitiendo los comandos para dibujar un lado, cuatro veces.

  • Comience modificando el proyecto anterior, copiando el proyecto a continuación o cree un nuevo proyecto para que coincida con este proyecto 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)

 

  • Los comandos repetidos en este proyecto son los comandos drive_for y los comandos turn_for . Elimina los seis comandos inferiores del proyecto, de modo que solo queden un comando drive_for y un comando turn_for debajo del comando move , y el proyecto se verá así: 

    def main():
        pen.move(ABAJO)
        transmisión.drive_for(ADELANTE, 600, MM)
        transmisión.turn_for(DERECHA, 90, GRADOS)
  • Arrastre un bucle para hasta el final de la función principal , para que su proyecto se vea así. Tenga en cuenta que el bucle for rellenará automáticamente un comando wait en su interior. No elimine el comando esperar , esto garantizará que el robot VR se comporte correctamente.

    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 el bucle para repita los comandos de Drivetrain para dibujar un lado del cuadrado, esos comandos deben estar dentro del bucle para , lo que se indica mediante sangría. Agregue dos líneas entre el bucle for y el comando wait para hacer espacio para los comandos Drivetrain. El mismo proyecto que el anterior, con dos líneas de espacio añadidas entre el comando for y el comando wait.
  • A continuación, para mover los comandos Drivetrain dentro del bucle for , copie y pegue los comandos debajo del encabezado del bucle for , resalte los comandos y arrastre los comandos drive_for y turn_for entre el encabezado del bucle y el comando wait , o cópielos y péguelos desde el proyecto a continuación.
def main():
	pen.move(DOWN)
	
	para el valor en el rango(10)
		: 		drivetrain.drive_for (FORWARD, 600, MM
		) 		drivetrain.turn_for (RIGHT, 90, DEGREES)
		wait(5, MSEC)
  • Asegúrese de que los comandos dentro del bucle para estén correctamente sangrados, utilizando la línea gris de la izquierda como guía que indica qué comandos están dentro del bucle para

Para su información

La sangría es muy importante en Python. La sangría de comandos determina cómo se ejecuta un proyecto. En el caso de un bucle para , los comandos sangrados dentro de él se ejecutarán como parte del bucle. Puede usar las líneas a la izquierda de los comandos, como guías visuales de cómo se agrupan los comandos dentro de un bucle. 

El proyecto desde arriba, con el texto Línea de "guía" y flecha apuntando a la línea gris claro que indica la sangría correcta de los comandos dentro de un bucle for. Un corchete rojo alrededor de los últimos tres comandos muestra que están uniformemente sangrados y alineados dentro del bucle for.

Los errores en la sangría pueden afectar el flujo de su proyecto y hacer que su proyecto no se ejecute según lo previsto. Debe evitarse la falta de sangría, o sangría desigual, como se muestra aquí, para que su código funcione según lo previsto.

Dos ejemplos comunes de sangrado incorrecto en un bucle for lado a lado, con grandes x rojas sobre ellos para enfatizar que son incorrectos. El proyecto de la izquierda es el proyecto de esta lección, pero no hay sangría dentro del bucle for. El proyecto de la derecha es el proyecto de esta lección, pero con los tres comandos inferiores todos sangrados en diferentes grados.

VEXcode VR puede pedirle que resuelva los errores de sangría antes de poder ejecutar su proyecto. Estos errores se pueden identificar en la Consola de impresión, para que pueda resolver fácilmente el problema y ejecutar su proyecto.El proyecto de esta lección se muestra a la izquierda. La consola de impresión en VEXcode VR se muestra a la derecha, con un mensaje de error rojo que hace referencia a una sangría inesperada que se muestra a la derecha. Una flecha roja grande se extiende desde el mensaje de error hasta la línea en el proyecto que contiene el error.

 

 

  • Ahora que los comandos de Drivetrain para dibujar un lado del cuadrado están dentro del bucle, se puede configurar el parámetro de la función rango  . Para dibujar un cuadrado, se deben dibujar cuatro lados. Para repetir los comandos cuatro veces, configure el parámetro de la función rango en el encabezado de bucle   en “4” para que un robot VR dibuje los cuatro lados de un cuadrado.
    El proyecto de esta lección, con el parámetro de la función range en el bucle for cambiado de 10 a 4.

Para su información

La función del rango en el encabezado del bucle para puede aceptar números enteros. Los decimales (o flotantes) no funcionarán como parámetro para un bucle para . El parámetro predeterminado para la función del rango  es '10'. 

Para el comando loop con el número entero 10 en el parámetro.
  • Seleccione el botón “Abrir patio de juegos” para abrir el lienzo de arte Patio de juegos si aún no está abierto y comenzar el proyecto.
    Barra de herramientas VEXcode VR con el botón Abrir parque infantil en la parte superior derecha resaltado con un cuadro rojo.
  • Observa cómo el robot VR avanza y gira a la derecha cuatro veces en el lienzo de arte Patio de juegos para dibujar un cuadrado con el lápiz.

    Parque infantil Art Canvas con un cuadrado negro dibujado en él. El robot VR se coloca en el centro del patio de recreo, en la esquina inferior izquierda del cuadrado.

Seleccione el botón Siguiente para continuar con el resto de esta lección.