22
Turtle Python Guía II 15 de marzo de 2014 Esta es la segunda de una serie de guías, dedicadas a enseñar a los niños conceptos de programación. Por favor asegúrate, de buscar y haber leído la primera, pues hay temas y recomendaciones que son de suma importancia para seguir avanzando. Todas las guías están disponibles en los blogs: ivanditigal.wordpress.com o en: http:// programacionpythonturtle.blogspot.com. De igual forma las puedes conseguir en: https://www.evernote.com/pub/izabala/ guiasdeprogramacionparaninosenpythonturtle. Si leíste la primera guía, debes saber que se asume que el lector ( padre o maestro ) no conoce de programación o su conocimiento es muy básico. Ahora, si asume que tiene un mínimo conocimiento para navegar en internet, buscar información, bajarse los programas e instalarlos (si no, seguro que su hijo / estudiante lo sabe hacer). También requiere que el padre / maestro pueda explicar conceptos, sobre todo matemáticos que no forman parte de la guía. Igualmente, los comandos están en ingles, se debe poder manejar esto. 1 @ivandigital Ivan Zabala Ivan Zabala. Ingeniero en Computación. Padre buscando que su hijo aprenda, en una temprana edad, los conceptos básicos de programación. Lo puedes seguir o contactar en twitter con el id @ivandigital Programación para niños Usando la librería Turtle de Python. Guía II.

Programación para niños · Bucles en Python Hay dos tipos de bucles en Python pero por ahora solo veremos el bucle while. While significa “mientras” y lo que hace es que

Embed Size (px)

Citation preview

Turtle Python Guía II 15 de marzo de 2014

Esta es la segunda de una serie de guías, dedicadas a enseñar a los niños conceptos de programación. Por favor asegúrate, de buscar y haber l e ído l a pr imera , pues hay tema s y recomendaciones que son de suma importancia para seguir avanzando. Todas las guías están disponibles en los blogs: i vand i t iga l .wordpress . com o en : h t tp : / /programacionpythonturtle.blogspot.com. De igual forma las puedes conseguir en: https://www.evernote.com/pub/izabala/guiasdeprogramacionparaninosenpythonturtle.!

Si leíste la primera guía, debes saber que se asume que el lector (padre o maest ro ) no conoce de programac ión o su conocimiento es muy básico. Ahora, si asume que tiene un mínimo conocimiento para navegar en internet, buscar información, bajarse los programas e instalarlos (si no, seguro que su hijo / estudiante lo sabe hacer). También requiere que el padre / maestro pueda explicar conceptos, sobre todo matemáticos que no forman parte de la guía. Igualmente, los comandos están en ingles, se debe poder manejar esto. !

�1@ivandigitalIvan Zabala

Ivan Zabala. Ingeniero en Computación. Padre buscando que su hijo aprenda, en una temprana edad, los conceptos básicos de programación. Lo puedes seguir o contactar en twitter con el id @ivandigital

Programación para niños!Usando la librería Turtle de Python. Guía II.

Turtle Python Guía II 15 de marzo de 2014

Para el Padre / Maestro!En la guía I hay una serie de recomendaciones e instrucciones de suma importancia para que este aprendizaje sea lo más placentero. Este es un buen momento para volver a leerlas. La Guía es corta, hazlo, seguro se te olvidaron un par y eso te puede quitar unos cuantos dolores de cabeza.!

Sobre los conceptos que se van a aprender

En es ta gu ía vamos a mane ja r va r ios conceptos de programación, así como una serie de nuevos comandos de python.!

Variables!Vamos a comenzar a usar variables para guardar datos, re-utilizarlos y manipularlos. El niño debe entender que una variable es el nombre de un contenedor de un valor. Por ahora, solo guardaremos números enteros y decimales. En otras guías le iremos introduciendo el concepto de otros tipos de datos y el uso de variables con estos.!

Bucles!Le enseñaremos que se pueden hacer pasos repetidos usando bucles. En específico veremos la sentencia while. Es de suma importancia que lea esta sección pues puede ser algo nuevo y debe asegurarse que su hijo entiende bien para poder usarlo. Al final de la guía, después de las actividades hay una sección l lamada: Usar bucles para el Padre / Maestro. Léala , compréndala y así podrá explicarle mejor al niño.!

Números decimales!Es tiempo que el niño entienda que La Tortuga no solo entiende números enteros, si no también decimales. !

Usar a Python como una calculadora!Vamos a ver que el Shell de Idle de Python es un muy buena calculadora. Solo hay que usar los símbolos “+” para sumar, “-“ para restar, “/“ para dividir, “*” para multiplicar y “**”para elevar al cuadrado. Hay otros, pero es suficiente para el niño por ahora.!

!!

�2@ivandigitalIvan Zabala

Lenguaje Python: www.python.org

Turtle Python Guía II 15 de marzo de 2014

Radio, diámetro y ángulos en un círculo!Me disculpan los matemáticos, vamos a utilizar el termino círculo para referirnos a dibujar una circunferencia. Son niños, solo necesitamos que sepan: que es el radio de un círculo, que un circulo completo tiene 360º y que medio círculo tiene 180º y que un cuarto tiene 90º y puede ser necesario que se explique que es el diámetro. El resto se lo dejamos a su profesor de matemáticas.!

¡Ahora comencemos a enseñar a los niños! Puede imprimir la sección que viene como guía para el niño o para usted. Les recomendamos que haga los ejercicios usted mismo para ver si todo está bien.!

!

�3@ivandigitalIvan Zabala

El uso de variables, bucles y funciones nos permiten hacer gráficas sofisticadas en unas pocas líneas.

Turtle Python Guía II 15 de marzo de 2014

Aprendiendo Python Turtle Guia II!¡Hola, de nuevo! Hoy vamos a aprender nuevas herramientas de programación que nos permitirán hacer más cosas y más fácil. Pero antes de eso. ¿Jugaste un poco más con nuestra amiga La Tortuga? Veamos si es verdad. Hagamos un ejemplo de repaso, si no recuerdas algo, debes revisar la guía anterior o pedirle ayuda al adulto, ya sea tu papá, tu mamá o tu maestro. También puedes leer la sección de cosas que debes tener en cuenta, de esta misma guía, si algo no te funciona o están apareciendo muchos errores, es posible que allí este la respuesta.!

Dibujando una Estrella

Abre el IDLE de Python (para que aparezca la ventana de Python She l l ) e in t roduce los s i gu ientes comandos (instrucciones):!

>>> from turtle import * >>> home() >>> pensize(10) >>> pencolor("blue") >>> forward(100) >>> lt(144) >>> forward(100) >>> lt(144) >>> forward(100) >>> lt(144) >>> forward(100) >>> lt(144) >>> forward(100)

En este ejemplo se uso lt(144) en lugar de left(144). Si recuerdas la guía I, hay varios nombres para un mismo comando, es decir La Tortuga entiende que lt y left es lo mismo. En esta guía se vuelven a incluir la lista de comandos, búsca l a y ve rás que puedes usa r fd ( 100 ) en lugar de forward(100), y La Tortuga va ha hacer exactamente lo mismo, avanzar 100 pasos. Así que si en algún ejemplo no entiendes que hace un comando, vuelve a ver la lista de comandos para ver si aparece el que buscas.!

Variables

Hasta ahora, le hemos dado instrucciones a La Tortuga usando “números” como en forward(100) o palabras entre comillas

�4@ivandigitalIvan Zabala

Haciendo una estrella azul.

Turtle Python Guía II 15 de marzo de 2014

(también conocidas como cadenas de caracteres o strings) como por ejemplo pencolor(“blue”). Eso esta bien, pero necesitamos comenzar a usar herramientas que nos permita usar los valores de números y palabras de maneras más poderosas. Para esto usaremos un concepto de programación llamado “variable”.!

Una variable es el nombre de una caja que contiene un valor. Y le asignamos un valor a la variable usando el signo “=“. !

Entonces para crear una variable con el nombre de “x” y cuyo valor es “100” escribimos lo siguiente:!

x = 100 Intentalo, escribe en la ventana de Shell de Python (Python IDDLE) la instrucción anterior. Puede haber uno o varios espacios entre la “x” y el signo “=“ al igual que entre el signo “=“ y el número “100”, donde no puede haber espacios es antes de escribir la “x”. Si ya lo escribiste, nada extraordinario paso, pero si ahora escribes el comando: !

x Python te devuelve el valor “100”. Esto se debe a que para Python, ahora x es el nombre de la caja que contiene el valor 100 y cada vez que escribas x, estarás usando el valor que actualmente posee, hasta que le pongas o asignes otro valor.!

Los nombres de las variables pueden ser casi cualquier cosa, por ejemplo puedes escribir los siguiente:!

edad = 10 Y si luego escribes edad:!

edad Python te devuelve el número 10.! !

El valor puede ser muchas cosas de muchos tipos, pero por ahora tenemos que saber que las variables pueden guardar palabras entre comillas (conocidas como cadenas de caracteres o strings) y números. ! !

Veamos un ejemplo con nuestra amiga La Tortuga:!

>>> home() >>> clear() >>> x = 140 >>> giro = 90

�5@ivandigitalIvan Zabala

La variable X es el nombre de la caja que contiene el valor 100

x y edad pasan a tener el valor de 100 y 10 que fueron los valores asignados.

Turtle Python Guía II 15 de marzo de 2014

>>> fd(x) >>> rt(giro) >>> fd(x) >>> rt(giro) >>> fd(x) >>> rt(giro) >>> fd(x)

La Tortuga dibuja un cuadrado, donde cada lado es de 140 pasos. !

Usando Python como una calculadora

El Python Shell puede ser usado para hacer cálculos y las variables para guardar valores. Veamos este ejemplo, escribe y dale a la tecla Enter al final:!

100 + 300 + 53 + 34 Python contesta: 487.!

Veamos otro ejemplo esta vez con número decimales, supongamos que compramos 7 pizzas y cada una cuesta 15.50 (en Python los números decimales van después del punto y no la coma). Para calcular el total solo debemos escribir:!

7 * 15.50 Python responde: 108.5!

Ahora usando variables:!

costo_pizza = 13.25 numero_pizzas = 11 total = costo_pizza * numero_pizzas total

Python responde 145.75. !

En este ejemplo, costo_pizza, numero_pizzas y total son variables. Se crean y se les asigna el valor con “=“. Al ejecutar el comando, Python usa el valor que contienen en ellas. Si ven en este ejemplo, se usan nombres de variables que sean fácil de entender, recordar y usar. La variable costo_pizza tiene el costo de una pizza, y numero_pizzas el número de pizzas. Podríamos usar nombres de variables como “x” o “y”, pero así es más fácil recordar que valor contiene la variable. Si es posible, usa nombres que indiquen para que se usan las variables, esto va a ser una buena práctica de programación. Se puede usar “_” para facilitar la lectura de los nombres de las variables o también

�6@ivandigitalIvan Zabala

Dibujando un cuadrado usando variables en lugar de valores.

Ejemplos usando Python como calculadora. Se puede usar números enteros o decimales, estos últimos usan el punto en lugar de la coma.

Turtle Python Guía II 15 de marzo de 2014

usar minúsculas y mayúsculas mezcladas como por ejemplo: CostoPizza. Pero tienes que recordar que para Python CostoPizza y Costopizza no son lo mismo. Así que a menos que tengas cuidado con eso, es mejor que mantengas el uso de solo minúsculas por ahora.!

Incrementando una misma variable!Un aspecto importante en el uso de las variables, es como usarlas para ir guardando valores temporales, o usar una variable para ir incrementando un valor. Esto es útil para ir totalizando o para llevar una cuenta de cuantas veces se ha hecho algo. La forma de hacer esto con Python es asignándole, a la misma variable, el valor de un resultado en el que se usa el valor actual de la variable. Veamos un ejemplo:!

x = 0 x = x + 1 x = x + 2 x

Al finalizar esos comandos, Python me responde 3. Veamos que sucede aquí. Primero se crea la variable x y se le asigna 0. Luego a la misma variable x le asigno su valor actual + 1. Su valor actual es 0 + 1 es igual a 1, entonces el nuevo valor de x es 1. Para el comando x = x + 2, a x se le va a asignar el resultado de la suma de su valor actual, que es 1, mas 2 por lo que ahora x es 3. !

Bucles en Python

Hay dos tipos de bucles en Python pero por ahora solo veremos el bucle while. While significa “mientras” y lo que hace es que repite una serie de comandos o acciones mientras una pregunta o condición sea cierta. Es como si preguntáramos:!

Mientras la respuesta sea verdadera: Ejecuta Esto y Esto y Esto.

Vamos a hacer un ejemplo, pero debes tener unas cosas pendientes. Escribe “:” después de la condición i <= 10. Esos dos puntos le dicen a Python que lo que viene lo tiene que repetir mientras el valor de i sea menor o igual a 10. Además debe haber unos espacios en blanco, que los coloca el Shell de Python por ti, para indentar los comandos. Eso solo significa que son comandos del while, y se les conoce como bloque de instrucciones. Finalmente cuando escribas la última instrucción

�7@ivandigitalIvan Zabala

Incrementar una variable. Esto es un punto central en la programación.

Turtle Python Guía II 15 de marzo de 2014

del bloque (que es i = i + 1) debes oprimir la tecla de Enter 2 veces. Si no lo haces, no se ejecuta el while con su bloque. ¿Entendido? Vamos pruébalo.!

>>> i = 1 >>> while i <= 10:      print("Hola")      i = i + 1

Ahora tienes la palabra Hola escrita 10 veces. Primero, entendamos que el comando print, escribe en el shell de Python lo que le pases entre comillas. !

Ahora entendamos el bucle del ejemplo, la variable i tiene primero el valor 1. Cuando llega al while, se pregunta si el valor de i (que es uno) es menor o igual que 10. Esto es verdadero, así que se escribe “Hola” y luego a la variable i, se le suma su valor actual más 1, entonces i pasa a valer 2. Se vuelve a ir al while y se vuelve a pregunta todo. Esto se va a repetir (el escribir “Hola” e incrementar el valor de i en uno) hasta que i tenga el valor de 11. Alli la pregunta 11 es menor o igual a 10 es Falsa, así que el bucle while termina.!

Bucles en Turtle

Ejemplo dibujando de nuevo la estrella!Volvamos al ejemplo de la estrella del principio de la guía. Hagamos lo mismo, pero esta vez con variables y un bucle while. Vamos a cambiar el tamaño del marcador a 7 y el color a rojo, y el número de pasos a 200, para que la estrella luzca distinta.!

>>> from turtle import * >>> home() >>> pensize(7) >>> pencolor("red") >>> i = 1 >>> while i <= 5:      fd(200)      lt(144)      i = i + 1

Recuerda que después del bloque de instrucciones del while debes teclear 2 veces la tecla Enter para que Python sepa que se terminó el bloque y lo ejecute. Aquí el bloque se ejecuta 5 veces, ya que i tiene que irse incrementando de uno en uno, hasta

�8@ivandigitalIvan Zabala

Estrella usando un bloque while

Ejemplo de un bucle while

Turtle Python Guía II 15 de marzo de 2014

llegar a 6, donde la pregunta 6 es menor o igual a 5 es falsa. Allí termina el bucle while.!

Veamos otro ejemplo.!

Figura con Círculos!Aquí vamos a usar un nuevo comando de Turtle. El comando es circle(radio), para dibujar un círculo con el radio dado.!

Veamos el código que vamos a usar:!

>>> reset() >>> i = 0 >>> while i < 24:      lt(15)      circle(100)      i = i + 1

Recuerda, dos veces Enter después del bloque. Estas pocas líneas hacen una hermosa gráfica. ¡Bravo Tortuga! El bucle while hace que 24 veces (la variable i va desde el valor 0 al 23) gire la tortuga a la izquierda 15º y dibuja un círculo en cada oportunidad. ¡Gracias al bucle while nos hemos ahorrado escribir lt(15) y luego circle(100) 22 veces mas!!

Incrementando una variable!Incrementar una variable en un valor dado es tan usado en programación que Python tiene una abreviación para esto. En lugar de escribir: !

i = i + 1 Puedes escribir:! ! !

i += 1 Es exactamente igual uno al otro. !

Si necesitas incrementar una variable en 500 unidades, es lo mismo escribir cualquiera de estas dos líneas:!

total_pizza = total_pizza + 500 total_pizza += 500

Hasta aquí los ejemplos de esta guía. Hay dos secciones importantes de cosas que debes tener en cuenta, para no tener tantos errores, y un listado de los comandos de Turtle y Python vistos. Después una serie de actividades que deberías practicar.

�9@ivandigitalIvan Zabala

Ejemplo de uso de bucle while y el comando circle(radio)

Turtle Python Guía II 15 de marzo de 2014

Al final hay una sección de bucles, pero más al detalle. Si no la entiendes, no importa, esta pensado para que la lea un adulto.!

!

�10@ivandigitalIvan Zabala

Turtle Python Guía II 15 de marzo de 2014

Cosas que debes tener en cuenta

1. Si te equivocas y sale un error, no te preocupes, solo vuelve a escribir el comando de nuevo de manera correcta. Inténtalo de nuevo.!

2. Si te equivocas también tienes el comando undo() que deshace la equivocación. Practícalo.!

3. Debes escribir todos los comando en minúsculas. En otras guías veremos que podemos usar mayúsculas para algunas cosas, pero por ahora solo usa minúsculas. Si te equivocas, solo vuelve a intentar.!

4. No debe haber espacios en blanco antes de la primera letra de un comando, a menos que estés escribiendo un bloque de un bucle while. En el caso del bloque todos los comando deben comenzar en el mismo lugar, sin más o menos espacios en blanco.!

5. Si un comando lleva un paréntesis, lo debes colocar, y siempre vienen en parejas, se comienza con “(“ y se termina con “)”. Si se te olvida cerrar un paréntesis en una línea, solo ciérralo abajo y dale a la tecla Enter, lo peor que puede pasar es que obtengas un error.!

6. Solo puedes escribir un comando por línea.!

7. Cada vez que termines de escribir un comando debes apretar la tecla “Enter” para que se ejecute el comando. En el caso de que termines de escribir los comandos de un bloque de un bucle while, debes apretar la tecla “Enter" 2 veces.!

8. Debes escribir “:” después de la condición del while y el bloque siguiente debe tener espacios en blancos (llamados indentación). Pero no es dificil, ya que el Python Shell los coloca por ti.!

9. Si se te cierra la ventana del Shell de Python, solo vuelve a abrirla. Cerrar la ventana puede ser útil si se te quedó un bucle while sin que la condición se vuelva falsa. Vas a tener que volver a escribir el comando: !

from turtle import * !

�11@ivandigitalIvan Zabala

Ten en cuenta estos consejos.

Turtle Python Guía II 15 de marzo de 2014

Lista de comandos de Turtle y Python

A continuación se presenta una lista de comandos con su descripción. Si en una celda aparecen varios comandos, es que estos son equivalentes. Por ejemplo es lo mismo escribir forward(100) que fd(100); con ambos La Tortuga avanza 100 pasos. Igual con pendown(), pd() o down(); en los tres casos La Tortuga baja el marcador para dibujar.!

Comandos de Turtle Descripción

from turtle import *

Permite que puedas dar comando a La Tortuga. Siempre debes usarlo al empezar a usar el programa IDLE Python.

home()Devuelve a La Tortuga a su casa y hace que mire a la derecha de la pantalla.

undo()Deshace la acción anterior. Si se repite deshace la acción anterior a esa, etc.

forward(pasos) , fd(pasos) La Tortuga avanza el número de pasos dado.

back(pasos) , bk(pasos) , backward(pasos)

La Tortuga retrocede el número de pasos dado.

right(grados) , rt(grados) La Tortuga gira a su derecha la cantidad de grados definido.

left(grados) , left(grados)La Tortuga gira a su izquierda la cantidad de grados definido.

goto(x,y) , setpos(x,y) , setposition(x,y)

Mueve a La Tortuga al punto dado por las coordenadas (x,y)

setx(x) Mueve horizontalmente a La Tortuga hasta el valor x.

sety(y) Mueve verticalmente a La Tortuga hasta el valor y.

pendown() , pd() , down()Le dice a La Tortuga que baje el marcador para que comience a dibujar.

Comandos de Turtle

�12@ivandigitalIvan Zabala

¡Practica los comandos! Prueba y si te equivocas, usa undo() o vuelve a intentarlo…

Turtle Python Guía II 15 de marzo de 2014

penup() , pu() , up()Le dice a La Tortuga que suba el marcador para que no dibuje.

pensize(valor)

Cambia el grosor del marcador al valor dado, para que la línea trazada sea más o menos gruesa.

pencolor(“color”) , pencolor(‘color’)

Cambia el color del marcador al color dado. El color debe estar en ingles.

DescripciónComandos de Turtle

�13@ivandigitalIvan Zabala

Resumen de Python Descripción

x = 0, nombre = “mi nombre”, total = 100.5

Definición de variables y asignación de valores.

10 + 145 * 2 / 5 - 23,4 El shell de Python es una buena calculadora.

variable = variable + 10

incrementa o suma el valor actual de la variable y luego le asigna a la misma variable el valor de la suma

Símbolos usados en expresiones o condiciones: <, <=, >, >=, ==, !=

Se usan para comparar valores. Son en el mismo orden: menor que, menor o igual que, mayor que, mayor o igual que, igual, distinto. Debes tener pendiente que igual tiene dos símbolos “=“. Si se cumple la expresión, el valor de la expresión es verdadero, si no es falso.

while condición: bloque de while

Permite que las instrucciones del bloque se repitan mientras la condición o expresión sea verdadera. No se debe olvidar del signo “:” después de la condición o expresión y de indentar el texto del bloque.

print(“texto a escribir”) Escribe en el Shell de Python, lo que le pases entre comillas.

Turtle Python Guía II 15 de marzo de 2014

clear()Borra todo lo dibujado o escrito, pero deja La Tortuga en el lugar que estaba.

reset()

Borra todo, y lleva a La Tortuga a casa. La Tortuga se gira para mirar a la derecha de la pantalla.

shape(“turtle”) , shape(‘turtle’)

Cambia la forma de La Tortuga a la forma dada. Los valores pueden ser: “arrow”, “turtle”, “circle”, “square”, “triangle” y “classic”

circle(radio), circle(radio, angulo)

Dibuja un circulo con el radio dado. Si se usa el comando con el parámetro ángulo, En lugar de dibujar el circulo completo, dibuja el arco o la fracción de la circunferencia dada por el ángulo. El comando circle(100,180) dibuja un semi circulo con radio 100.

dot(), dot(size), dot(size,”color”)

Dibuja un punto en el lugar que se encuentra la tortuga. Si el parámetro size es dado, se dibuja el punto donde size es el diámetro del punto. dot(20) dibuja un punto con diámetro 20. Si se da el parámetro color, el punto se dibuja del color que se especifica.

speed(0) ¡Corre Tortuga!

DescripciónComandos de Turtle

�14@ivandigitalIvan Zabala

Turtle Python Guía II 15 de marzo de 2014

Actividades!Hagamos una serie de ejercicios, para que repases todo lo aprendido. Trata de hacer la actividad tu solo, mirando la lista de comando o volviendo a lo ya visto. Pero si no puedes los comandos están allí. !

Recuerda que los signos “>>> “ en las respuestas, son parte del IDLE y no debes escribirlos. Se incluye en cada caso los comandos: from turtle import * y home(), si ya los has escrito no hace falta que los vuelvas a escribir. Solo lo hago por si cerraste el IDLE Python y lo acabas de abrir de nuevo.!

Hagamos un Pentágono

Haz un pentágono con las siguientes características:!Un pentágono es una figuras que tiene 5 lados iguales. !

Debes usar un bucle while. El bucle debe ejecutar el bloque de acciones 5 veces. Puedes usar una variable llamada contador, que vaya incrementando de 1 en 1 hasta que llegues un número mayor a 5. El bloque de comando debe avanzar 200 pasos y luego girar a la derecha 72º (también puedes hacerlo igual girar a la izquierda). !

Luego de hacer esto, puedes practicar con cuadrados, girando 90º a la izquierda (o derecha) o con triángulos girando 120º a la derecha (o a la izquierda). Igualmente, prueba cambiando el tamaño del marcador y colores.!

Respuesta:!>>> from turtle import * >>> home() >>> clear() >>> contador = 1 >>> while contador <= 5:      fd(200)      rt(72)      contador = contador + 1

Haciendo lineas desde un eje

Vamos a hacer líneas que salen de un mismo punto pero en un ángulo creciente.!

�15@ivandigitalIvan Zabala

Pentágono. ¡Bien Tortuga!

Turtle Python Guía II 15 de marzo de 2014

En este ejemplo se va a ir incrementando el ángulo de giro de cada línea que sale de casa. ¡Vamos Tortuga!!

Respuesta:!from turtle import * reset() pencolor("red") pensize(3) contador = 1 incremento = 5 pasos = 200 while contador <= 72:     lt(incremento)     fd(pasos)     bk(pasos)     contador = contador + 1

Haciendo cuadrados que crecen

Hacer cuadrados con un bucle y hacer que cada uno sea más grande que el anterior!En este ejemplo vamos a usar 2 bucles while, un bucle hace que se dibuje el cuadrado y otro hace que se vaya aumentando la cantidad de pasos de cada cuadrado para que sean más grandes cada vez. Cuando hay un bucle dentro de otro, se les llama bucles anidados. Lo que hace es que cada vez que se repite el bloque de instrucciones del primer bucle while (o externo) se ejecuta todo el bloque de instrucciones del segundo bucle while (o interno). !

Es importante que veas, que cada bloque de instrucciones de su while tiene los espacios de indentación para indicar que ese código es de dicho bloque. Las del while interno (segundo) tienen mas espacios que las instrucciones del while externo (primero). Las instrucciones del while externo, pueden estar antes o después del otro while, pero siempre tienen que mantener la misma indentación. Voy a poner en azul las instrucciones del bloque del primer while y en rojo las del segundo. Fijate que el segundo while es azul, ya que es parte del bloque del primer while. !

En el ejemplo se puede ver el uso de variables como pasos e incremento. Pasos da el número de pasos del cuadrado. Cuando sale del while interno, los pasos se suben una cantidad dada por incremento, para hacer que el siguiente cuadrado sea

�16@ivandigitalIvan Zabala

Líneas que salen de un eje. Ejemplo de el uso de variables y un bucle while.

Turtle Python Guía II 15 de marzo de 2014

un poco más grande. Se tienen dos contadores, que van incrementando, para que cada bucle while se ejecute la cantidad de veces necesarias y en algún momento termine. El primer contador va a incrementarse hasta llegar a 3 1 , para repetir el bloque 30 veces y el segundo, va a llegar hasta 5 para repetir el bloque 4 veces (uno por cada lado del cuadrado). !

Importante, cuando termines de escribir la última instrucción del bloque del while mas interno (segundo), debes apretar la tecla backspace (borrar) para eliminar una indentación y volver al bloque del primer while. Si esto no se hace, las instrucciones van a seguir en el bloque del 2do while. Debe verse como se muestra en el ejemplo de abajo. Recuerda, debes borrar con la tecla Backspace los espacios para quedar con la misma separación que antes de escribir el 2do while. Mira la respuesta. Recuerda también que debes apretar 2 veces la tecla Enter después de la última instrucción del bloque del primer while (es decir la última del programa) para que se ejecute.!

Para finalizar la explicación, vamos a utilizar la notación variable += número, en lugar de variable = variable + número, hay que comenzar a usarlo y acostumbrarse.!

¡Bueno, basta, pon a trabajar a la tortuga! !

Respuesta:!from turtle import * reset() pensize(5) pencolor("green") pasos = 10 incremento = 10 contador = 1 while contador <= 30:     otro_contador = 1     while otro_contador <= 4:         fd(pasos)         lt(90)         otro_contador += 1     pasos += incremento     contador += 1 !

�17@ivandigitalIvan Zabala

Cuadrados crecientes, usando dos bucles while anidados.

Turtle Python Guía II 15 de marzo de 2014

Puntos en escape

Vamos a combinar la instrucción de circle() con la de dot()!La instrucción dot() hace un punto donde esté parada La Tortuga, ve a la sección de lista de comandos, al lí esta explicada. Vamos a usar también el comando speed(0) que le dice a La Tortuga que vaya a su máxima velocidad.!

Aquí de nuevo hay 2 bucles while anidados. Igual que en el ejemplo anterior, vamos a poner en azul las instrucciones del bloque del while externo (primero) y en rojo las del interno (segundo). Recuerda que debes apretar la tecla BackSpace o borrar el espacio para que la indentación quede como antes de escribir el 2do while. y luego de la última instrucción del bloque del primer while, debes apretar dos veces la tecla Enter.!

Respuesta:!from turtle import * reset() pencolor("brown") up() speed(0) angulo = 10 veces = 20 contador = 1 while contador <= 36:     home()     contador_adicional = 1     radio = 10     lt(angulo * contador)     while contador_adicional < veces:         circle(radio,angulo)         dot(10)         radio += 10         contador_adicional += 1     contador += 1 home() shape(“turtle")

Bueno, hasta aquí esta guía. Dejemos que nuestra amiga descanse, ese último ejemplo la dejó exhausta. Practica y Juega con Turtle, es la forma de aprender. Más comandos y conceptos de programación en la guía III.

�18@ivandigitalIvan Zabala

Debe estar cansada la tortuga después de este dibujo.

Turtle Python Guía II 15 de marzo de 2014

Usar bucles, para el Padre / Maestro

Un bucle es una forma de repetir la mismas acciones varias veces. Hay dos tipos de bucles en Python, por ahora solo vamos a ver el bucle while (significa “mientras” en ingles). !

En un bucle existen varias partes que son fáciles de identificar y que deben estar presentes:!

• El comando del bucle: en este caso la palabra while!

• La condición o expresión para seguir en el bucle: cada vez que se va a repetir las instrucciones, se debe verificar que una condición o una expresión siga siendo verdadera. Cuando es falsa, el bucle no se continúa haciendo.!

• El símbolo o caracter “:” que indica que a partir de allí viene una serie de instrucciones que conforman un bloque: Se coloca justo después de la condición o de la expresión e indica que van a comenzar un “bloque” de instrucciones que se repiten mientras la condición siga siendo verdadera.!

• Bloque de instrucciones o comandos: El bloque de instrucciones o comandos que se van a repetir. Estas instrucciones deben estar indentadas, es decir deben tener un número de espacios en blanco antes de la primera letra del comando. Todas deben tener el mismo número de espacios en blanco. Gracias a el IDDLE de Python y en especial al Shell de Python, cuando se detecta el símbolo o carácter “:” después de l a condic ión o expres ión de l whi l e , automáticamente cada nuevo comando tiene la misma cantidad de espacios en blanco al principio de la línea. Cuando finalices de escribir los comandos del bloque, debes apretar dos veces seguidas la tecla Enter. Cuando tecleas dos veces seguidas Enter, el Shell de Python entiende que ya finalizó el bloque, y que debe ejecutar la instrucción while y su bloque.!

La estructura del bucle while es:!

while condición: bloque de instrucciones

Y se puede entender como la siguiente instrucción general: !

“Mientras la condición o expresión sea verdadera: Ejecuta el bloque de instrucciones.“!

�19@ivandigitalIvan Zabala

Esquema del bucle while.

Turtle Python Guía II 15 de marzo de 2014

El bloque de instrucciones se ejecuta una y otra vez, hasta que la condición del while, pasa a ser falsa. Se pueden usar los siguientes símbolos: <, <=, >, >=, ==, !=. Se usan para comparar valores y son en el mismo orden: menor que, menor o igual que, mayor que, mayor o igual que, igual y distinto (o no igual).!

Debes tener pendiente que igual tiene dos símbolos “=“, ya que uno solo se usa para asignar variables. Si se cumple la expresión, la condición es verdadera, si no es falsa.!

Veamos un ejemplo: Sumar todos los números del 1 al 10.!

>>> numero = 1 >>> suma = 0 >>> while numero <= 10:      suma = suma + numero      numero = numero + 1      >>> suma

Python responde con el número 55. Recuerda que debes teclear 2 veces Enter cuando se termina el bloque de instrucciones del bucle while. !

Veamos que sucedió aquí. Primero creamos las variables numero y suma, asignándoles el número 1 y 0 respectivamente. La variable número va a ir subiendo de 1 en 1 y la suma va a ir totalizando la sumas de cada uno de los números. !

Tenemos la palabra while (que indica el comienzo del bucle) seguida de su condición o expresión. La condición es que la variable número tiene que ser menor o igual a 10, para que se ejecute el bloque. Luego viene los dos puntos, que indica que a partir de allí viene el bloque de instrucciones. !

Las dos instrucciones del bloque, toman el valor actual de la variable, le suman la cantidad necesaria y se la asignan para que el nuevo valor sea usado en la siguiente oportunidad. !

Hagamos el ejercicio de manera mental. Cuando llegamos al while por primera vez, la variable numero vale 1 y la variable suma vale 0. La condición (se puede ver como una pregunta) ¿Es el valor de la variable numero menor o igual a 10? Como la variable numero en ese momento vale 1 , la respuesta a esa pregunta es : verdadero , a s í que se van a e jecutar l a s instrucciones del bloque. !

�20@ivandigitalIvan Zabala

Ejemplo de un bucle while

Turtle Python Guía II 15 de marzo de 2014

En la primera instrucción del bloque, la variable suma tiene el valor 0 y la variable numero tiene el valor 1. La suma de estos dos número es igual a 1 y se le asigna este valor a la variable suma. Así que para la próxima vez que se use, suma tendrá un valor de 1. !

En la segunda instrucción, la variable numero tiene un valor de 1 al sumarle 1, la variable numero pasa a tener el valor 2. !

Termina el bloque de instrucciones así que subimos a la instrucción while de nuevo y volvemos a evaluar la condición. Ahora la variable numero vale 2. La pregunta sería: ¿Es 2 menor o igual a 10? La respuesta es: verdadero, por lo que se vuelve a ejecutar el bloque. !

Ahora en la primera instrucción del bloque, la variable suma pasaría a valer 3 ya que sumarias su valor actual que es 1 más el valor de la variable numero que es 2.

En la segunda instrucción del bloque, la variable numero pasaría a valer 3 ya que en estos momentos vale 2 y le sumas 1. !

Vuelves a subir al while, y la pregunta ahora es: ¿Es 3 (valor de la variable numero) menor o igual a 10? La respuesta es verdadero, así que volvemos al bloque. Suma pasa a valer 6 (suma vale 3 y numero vale 3) y número a valer 4 (su valor es tres y se le suma 1). Luego suma vale 10 y numero 5, luego suma vale 15 y numero 6, luego suma vale 21 y numero 7, luego suma vale 28 y numero 8, luego suma vale 36 y numero 9, luego suma vale 45 y suma 10, luego suma vale 55 y número 11. En ese momento, la condición se convierte en falsa, ya que la respuesta a la pregunta: ¿Es 11 (valor de numero) menor o igual a 10? es falso. Así que se va a la instrucción que sigue al fin del bloque de instrucciones y que es el palabra suma, nombre de la variable, así que Python retorna su valor que es 55 y el cual es el resultado de sumar los primeros 10 numero entre si.!

Importante: debemos asegurar que se suma las variables o se hace algún paso dentro, del bloque de instrucciones, para que la condición se vuelva falsa en algún momento; en caso contrario el bucle continuará infinitamente o hasta que un error ocurra. Es decir, si en el ejemplo anterior no incrementáramos el valor de la variable numero, la condición no sería falsa nunca, y seguiría sumando por mucho tiempo.!

�21@ivandigitalIvan Zabala

Turtle Python Guía II 15 de marzo de 2014

Si esto llegase a ocurrir, solo cierra la ventana del Shell de Python y vuelve a abrirla. También puedes seleccionar el menú de Shel l de la parte de arriba de la ventana de Shel l y seleccionar Restart Shell. Después de hacer cualquiera de las dos cosas debes volver a escribir de nuevo: from turtle import *.

!

�22@ivandigitalIvan Zabala