Skip to main content

Lección 2: Flujo de un proyecto con un bucle For

Cuando un proyecto utiliza un bucle para , todavía sigue la misma lógica al ejecutar los comandos. Por ejemplo, estas dos muestras de código harán que el robot VR se mueva de la misma manera. Sin embargo, el proyecto con el bucle para , repite los dos comandos Drivetrain cuatro veces para hacerlo.

Dos fragmentos de código para conducir en un cuadrado que se muestran uno al lado del otro para ilustrar la diferencia entre usar el bucle for y no. El de la izquierda no tiene bucle for, y tiene la unidad y el giro para los comandos repetidos cuatro veces cada uno. El de la derecha tiene un bucle for y flechas rojas en un patrón circular con las palabras 4 veces dentro de ellas, lo que indica que el bucle for hace que la unidad y el giro para que los comandos se repitan cuatro veces.

Un bucle para se utiliza para repetir una serie de comandos un número específico de . El bucle para se repite (también conocido como itera) sobre la secuencia de comandos dentro de él. En un bucle Python for , la variable 'value' se utiliza para rastrear la iteración actual, y la palabra clave 'in' usa la función range  para especificar el número de iteraciones. Desglose de la sintaxis de un bucle for que se muestra con texto encima de cada palabra en el comando para identificar su función. La primera palabra, for, hace que el texto "identifique el bucle" encima de él. La segunda palabra, valor, tiene el texto: "Identifica la variable (¿cuántas veces se ha iterado a través del bucle?). La tercera palabra, en, tiene el texto "Conecta la variable a la lista (rango). La última palabra es rango con el parámetro 10 entre paréntesis. El texto de arriba dice: "Identifica la lista (¿cuántas veces iterará a través del bucle?).

La función de rango identifica cuántas veces debe iterarse (o repetirse) el bucle. Para repetir los comportamientos la cantidad de veces deseada, configure el parámetro de la función en el rango en.

La función de rango esencialmente crea una lista temporal que especifica lo que el bucle debe iterar para completarse. En el caso de comportamientos repetidos, como dibujar los cuatro lados de un cuadrado, la función de rango utiliza una lista temporal de (0, 1, 2, 3) para permitir que el robot VR ejecute esos comandos cuatro veces. El movimiento del robot VR cambiará dependiendo del parámetro de la función de rango, como se muestra aquí. 

Proyecto VEXcode que ilustra la función range. Lee def paréntesis abierto principal cerrar paréntesis dos puntos siguiente línea que está sangrada lee lápiz punto mover paréntesis abierto hacia abajo paréntesis cerrado siguiente línea para valor en rango paréntesis abierto 0 paréntesis cerrado dos puntos siguiente línea que está sangrada lee transmisión punto unidad subrayado para paréntesis abierto hacia adelante, 600, MM cierre paréntesis siguiente línea transmisión punto giro subrayado para paréntesis abierto derecho, 90, grado cierre paréntesis siguiente línea esperar paréntesis abierto cinco coma M S E C). Art Canvas Playground con el robot en el centro. Comandos de transmisión ejecutados 0 veces.
El mismo proyecto que el anterior, pero con 1 en el parámetro de la función range. Art Canvas Playground con proyecto para dibujar un lado de un cuadrado completo. Comandos de transmisión ejecutados 1 vez.
El mismo proyecto que el anterior, pero con 2 en el parámetro de la función range. Art Canvas Playground que muestra que el robot ha dibujado los dos primeros lados del cuadrado. Comandos de transmisión ejecutados 2 veces.
El mismo proyecto que el anterior, pero con 3 en el parámetro de la función range. Art Canvas Playground que muestra que el robot ha dibujado tres lados del cuadrado. Comandos de transmisión ejecutados 3 veces.
El mismo proyecto que el anterior, pero con 4 en el parámetro de la función range. Art Canvas Playground muestra que el robot ha dibujado los cuatro lados del cuadrado. Comandos de transmisión ejecutados 4 veces, completando los 4 lados del cuadrado.

 

El mismo proyecto que el anterior, pero con 5 en el parámetro de la función range.

Art Canvas Playground muestra que el robot ha dibujado los cuatro lados del cuadrado y luego ha trazado el primer lado nuevamente. Comandos de transmisión ejecutados 5 veces, completando el cuadrado, luego trazando sobre el primer lado nuevamente.

Tenga en cuenta que la forma dibujada del cuadrado no cambió cuando la función rango  cambió de cuatro a cinco; pero la posición final del robot VR sí lo hizo. Como tal, al utilizar un bucle para con el rango predeterminado  de función de diez, se dibujaría la misma forma cuadrada, pero el robot VR continuaría repitiendo los comportamientos seis veces más. 

El robot VR se moverá a través de los comandos desde el encabezado del bucle por hasta el último comando sangrado. El encabezado del bucle para  indica que el robot VR debe repetir las acciones dentro del bucle  la cantidad de veces especificada antes de pasar al siguiente comando fuera del bucle for. Las líneas sangradas indican qué comandos están dentro del bucle para y deben repetirse.

Para su información

En VEXcode VR, un comando wait siempre se agrega con el bucle for . El propósito del comando wait es garantizar que VEXcode VR pueda ejecutar correctamente el proyecto según lo previsto, debido a la naturaleza basada en la web de la plataforma VEXcode VR. El comando wait nunca debe eliminarse cuando se utiliza un bucle for , o su proyecto podría no ejecutarse como se espera.

Para bucle con un comando de espera.

El número especificado de veces que el bucle para está configurado para ejecutarse, permite que el proyecto salga del bucle para cuando ha completado las iteraciones necesarias. El parámetro de la función de rango  en el bucle for debe alcanzarse antes de que el proyecto avance al siguiente comando fuera del bucle. En el ejemplo de código a continuación, una vez que los comandos Drivetrain en el bucle for se han ejecutado cuatro veces, el proyecto saldrá del bucle for , establecerá el color del lápiz en rojo y conducirá en reversa. El proyecto VEXcode desde arriba, con 4 en el parámetro de rango que se muestra con flechas rojas alrededor del bucle for y la notación 4x que muestra que el proyecto iteraría a través del bucle cuatro veces. Se añaden 2 líneas de código adicionales en la parte inferior. Las flechas muestran que esas 2 líneas se ejecutarían una vez que se completaran las cuatro iteraciones. Esas líneas se leen, el paréntesis de color abierto del conjunto de puntos del bolígrafo se cierra con paréntesis rojos y el subrayado de la unidad de puntos de la transmisión para el paréntesis abierto se invierte con la coma 600 mm de paréntesis cerrado. A la derecha hay una imagen del proyecto después de que se haya ejecutado en el patio de recreo que muestra un cuadrado negro con una línea roja que sale de él dibujada por el robot de realidad virtual.

Mini desafío

En este proyecto, el VR Robot debe dibujar un cuadrado azul en el Art Canvas Playground, pero hay errores en el proyecto. ¡Edita el proyecto para resolver el mini desafío!

Parque infantil Art Canvas con un cuadrado azul dibujado por el robot VR.

El siguiente vídeo muestra qué hacer para completar el mini desafío. El robot comienza en el medio del patio de recreo y dibuja los cuatro lados de un gran cuadrado azul. 

Archivo de vídeo
  • Mire el video de la solución y revise cómo debe moverse el robot de realidad virtual para completar el mini desafío.
  • Modifique el proyecto Unit3Lesson2 para que coincida con esta imagen o copie el código a continuación.
     
def main():
	pen.move(DOWN)
	pen.set_pen_color(RED)
	drivetrain.drive_for(FORWARD, 600, MM)
	
	for value in range(3):
		drivetrain.drive_for(FORWARD, 600, MM)
		drivetrain.turn_for(RIGHT, 90, DEGREES)
		wait (5, MSEC)
  • Inicie el proyecto e identifique dónde el robot de realidad virtual no completa los comportamientos esperados.
  • Modificar el proyecto y ejecutar el proyecto de nuevo. Vea si el robot VR completa los comportamientos esperados.
  • Si el robot VR no dibuja un cuadrado azul, repita el paso anterior e inténtelo de nuevo. Continúa modificando y ejecutando tu proyecto hasta que el robot VR dibuje un cuadrado azul.
  • Una vez que el robot VR dibuje con éxito un cuadrado azul en el lienzo de arte Patio de juegos, guarde el proyecto.

¡Felicidades! ¡Has resuelto EL mini desafío!

Preguntas

Seleccione un enlace a continuación para acceder al cuestionario de la lección.

Google Doc / .docx / .pdf