4.6. La iteración simplifica nuestro programa de tortugas
Para dibujar un cuadrado, nos gustaría hacer lo mismo cuatro veces: mueva la tortuga hacia adelante en cierta distancia y gire 90 grados. Anteriormente usamos 8 líneas de código Python para que Alex dibuje los cuatro lados de un cuadrado. Este próximo programa hace exactamente lo mismo, pero, con la ayuda de la declaración FOR, usa solo tres líneas (sin incluir el código de configuración). Recuerde que la declaración para repetir el delantero y se dejará cuatro veces, una vez para cada valor en la lista.
>>import turtle # set up alex
>>wn = turtle.Screen()
>>alex = turtle.Turtle()
>>for i in [0, 1, 2, 3]: # repeat four times
>> alex.forward(50)
>> alex.left(90)
>>wn.exitonclick()
Actividad: 4.6.1
Si bien "guardar algunas líneas de código" puede ser conveniente, no es el gran tratar aquí. Lo que es mucho más importante es que hemos encontrado un " repetición patrón "De declaraciones, y reorganizamos nuestro programa para repetir el patrón. Encontrar los trozos y de alguna manera obtener nuestros programas organizados en torno a esos Shunks es una habilidad vital cuando se aprende a pensar como un informático .
Se proporcionaron los valores [0,1,2,3] para que el cuerpo del bucle se ejecute 4 veces. Podríamos haber usado cuatro valores. Por ejemplo, considere el siguiente programa.
>>import turtle # set up alex
>>wn = turtle.Screen()
>>alex = turtle.Turtle()
>>for aColor in ["yellow", "red", "purple", "blue"]: # repeat four times
>> alex.forward(50)
>> alex.left(90)
>>wn.exitonclick()
En el ejemplo anterior, había
cuatro enteros en la lista. Esta vez hay cuatro cuerdas. Dado que hay
cuatro elementos en la lista, la iteración aún ocurrirá cuatro veces. aColor
voluntad
Tomar cada color en la lista. Incluso podemos llevar esto un paso más allá y usar el valor de aColor
como parte
del cálculo.
>>import turtle # set up alex
>>wn = turtle.Screen()
>>alex = turtle.Turtle()
>>for aColor in ["yellow", "red", "purple", "blue"]:
>>alex.color(aColor)
>> alex.forward(50)
>> alex.left(90)
>>wn.exitonclick()
En este caso, el valor de aColor
se usa para cambiar el atributo de color de alex
. Cada iteración causa aColor
Para cambiar al siguiente valor en la lista.
El for-loop es nuestro primer ejemplo de una declaración compuesta .
Sintácticamente una declaración compuesta es una declaración.
El nivel de sangría de
Una declaración compuesta (completa) es la sangría de su encabezado.
En el ejemplo anterior hay cinco declaraciones con la misma
sangría, ejecutada secuencialmente: la importación, 2 asignaciones, todo for-bucle,
y wn.exitonclick()
. La declaración de compuesto for-loop se ejecuta completamente antes
pasar a la próxima declaración secuencial, wn.exitonclick()
.
Programa mezclado
El siguiente programa usa una tortuga para dibujar un triángulo como se muestra a la izquierda:

Pero las líneas se mezclan. El programa debe hacer toda la configuración necesaria y crear la tortuga. Después de eso, iterar (bucle) 3 veces, y cada vez a través del circuito, la tortuga debe avanzar 175 píxeles, y luego girar a la izquierda 120 grados. Después del bucle, configure la ventana para cerrar cuando el usuario haga clic en él.
Arrastre los bloques de declaraciones desde la columna izquierda a la columna derecha y póngalas en el orden derecho con la indención correcta. Haga clic en <i> Compruébeme </i> para ver si tiene razón. Se le dirá si alguna de las líneas está en el orden incorrecto o si está incorrectamente sangrado.
Parsons (3_8)
Programa mezclado
El siguiente programa usa una tortuga para dibujar un rectángulo como se muestra a la izquierda:

Pero las líneas se mezclan. El programa debe hacer toda la configuración necesaria y crear la tortuga. Después de eso, iterar (bucle) 2 veces, y cada vez a través del circuito, la tortuga debe avanzar 175 píxeles, girar a la derecha 90 grados, avanzar 150 píxeles y girar a la derecha 90 grados. Después del bucle, configure la ventana para cerrar cuando el usuario haga clic en él.
Arrastre los bloques de declaraciones desde la columna izquierda a la columna derecha y póngalas en el orden derecho con la indención correcta. Haga clic en <i> Compruébeme </i> para ver si tiene razón. Se le dirá si alguna de las líneas está en el orden incorrecto o si está incorrectamente sangrado.
Parsons (3_9)
Comprueba tu comprensión
En el siguiente código, ¿cuántas líneas imprimen este código?
for number in [5, 4, 3, 2, 1, 0]:
print("I have", number, "cookies. I'm going to eat one.")
Actividad: 4.6.6 Opción múltiple (test_Question3_4_1)
¿Cómo sabe Python qué declaraciones están contenidas en el cuerpo del bucle?
Actividad: 4.6.7 Opción múltiple (test_Question3_4_2)
En el siguiente código, ¿cuál es el valor del número la segunda vez que Python ejecuta el bucle?
for number in [5, 4, 3, 2, 1, 0]:
print("I have", number, "cookies. I'm going to eat one.")
Actividad: 4.6.8 Opción múltiple (test_Question3_4_3)
Considere el siguiente código:
for aColor in ["yellow", "red", "green", "blue"]:
alex.forward(50)
alex.left(90)
What does each iteration through the loop do?
Activity: 4.6.9 Multiple Choice (test_question3_4_4)
No hay comentarios.:
Publicar un comentario