04-El Módulo Turtle PDF
04-El Módulo Turtle PDF
por
Jhonny Felipez
Universidad Mayor de San Andrés
2
Contenido
O Módulos en Python.
O Usando el módulo turtle de Python
O Moviendo la tortuga
O Ejemplos: Colores, Ancho de línea, Circulo, Figuras del
Lápiz y Más Comandos
O Varias Tortugas
O Ejemplos Varios
O Resumen de los Métodos de turtle.
O Mas Información
3
Módulos en Python
4
Módulos en Python
O Hay muchos módulos en Python que
proporcionan funciones muy potentes que
podemos usar en nuestros propios
programas. Algunos de estos pueden enviar
correos electrónicos o buscar páginas web.
O Otros nos permiten realizar cálculos
matemáticos complejos.
5
El Módulo turtle
O Se presentará un módulo que nos permite
crear un objeto llamado turtle que se puede
usar para dibujar imágenes.
O Los gráficos de tortuga se basan en una
metáfora muy simple. Imagina que tienes
una tortuga que entiende inglés.
6
El Módulo turtle
O Puedes decirle a tu tortuga que realice
comandos simples, tales como avanzar y
girar a la derecha. A medida que la tortuga
se mueve, si su cola está abajo tocando el
suelo, dibujará una línea (dejará un rastro
atrás) mientras se mueve. Si le dices a tu
tortuga que levante su cola, aún puede
moverse pero no dejará rastro. Como verá,
puede hacer algunos dibujos bastante
sorprendentes con esta simple capacidad.
7
Propósito real
O Las tortugas son divertidas, pero el
propósito real es enseñar un poco más de
Python y desarrollar nuestro pensamiento
computacional o pensar como un científico
informático.
8
Usando el módulo turtle de
Python
9
Para crear un lienzo
Código Captura de la
import turtle pantalla
t = turtle.Turtle()
import turtle
t = turtle.Pen()
10
Creando un lienzo
O La primera línea le indica a Python que se
usará la tortuga, importando el módulo
turtle.
O La segunda línea crea un lienzo, un espacio
en blanco para dibujar, similar al lienzo de
un artista.
11
El lienzo
O Debería ver un cuadro en blanco (el lienzo),
con una flecha en el centro.
O La flecha del centro de la ventana es la
tortuga y tienes razón, no es muy parecido a
una tortuga.
12
Moviendo la tortuga
13
Para mover la tortuga
forward() Mueve la tortuga hacia adelante t.forward(50)
14
Dibuja una línea de longitud
100
Código Captura de la
import turtle pantalla
t = turtle.Turtle()
t.forward(100)
15
Gira a la izquierda 90 grados
Código Captura de la
import turtle pantalla
t = turtle.Turtle()
t.forward(100)
t.left(90)
16
Grados
Si aún no has aprendido sobre los grados.
Imagina que estás parado en el centro de un
círculo.
O La dirección hacia lo que estás mirando es
de 0 grados.
O Si alargas tu brazo izquierdo, eso es 90
grados a la izquierda.
O Si alargas tu brazo derecho, eso es 90
grados hacia la derecha.
17
Grados
18
Grados de un círculo
completo
O Si continúa alrededor del círculo a la
derecha desde donde apunta su brazo
derecho, 180 grados está directamente
detrás de usted, 270 grados es la dirección
hacia donde apunta su brazo izquierdo y
360 grados está donde comenzó; los grados
van de 0 a 360.
19
Grados de un círculo
completo
20
Dibujando un cuadrado
Código Captura de la
import turtle
pantalla
t = turtle.Turtle()
t.forward(50)
t.left(90)
t.forward(50)
t.left(90)
t.forward(50)
t.left(90)
t.forward(50)
t.left(90)
21
Ángulos de las Figuras
Suma de
Nombre de la Número los Angulo
Angulo Exterior
Figura de lados Ángulos Interior
Interiores
Triangulo 3 180 60 360
Cuadrado 4 360 90 No. de Lados
Pentágono 5 540 108
Hexágono 6 720 120
Heptágono 7 900 128.6
Octágono 8 1080 135
Estos son los angulos que se
Nonágono 9 1260 140 necesitan usar
Decágono 10 1440 144
22
Limpia la pantalla
O Para limpiar el lienzo, ingrese reset. Esto
limpia el lienzo y vuelve a colocar a la
tortuga en su posición inicial.
>>> t.reset()
23
Ejemplos
24
Ejemplo 1
O El programa dibujará los dos primeros lados
de un rectángulo.
25
Ejemplo 1
Código
1 import turtle # permite utilizar el modulo turtle
2
3 v = turtle.Screen() # crea una ventana grafica
4
5 t = turtle.Turtle() # crea una tortuga de nombre t
6 t.forward(150) # avanza t 150 unidades
7 t.left(90) # gira a la izquierda 90 grados
8 t.forward(75) # avanza t 75 unidades
9
10 v.exitonclick() # solicita un clic en la ventana para cerrar.
26
Explicación
O Línea 1. Python carga el módulo Turtle. Ese
módulo nos brinda dos nuevos tipos que se
puede usar: el tipo Turtle y el tipo Screen.
O Línea 3. Se crea y abre la ventana Screen.
Cada Screen contiene un lienzo, que es el
área dentro de la ventana en la que se
dibuja.
27
Explicación cont.
O Línea 5. Se crea el objeto turtle t.
O Líneas 6-8. Se mueve y gira el objeto t. El
punto indica que los métodos invocados por
el objeto, pertenecen y se refieren al objeto
t.
28
Explicación cont.
O Línea 10. La variable ventana invoca a su
método exitonclick, el programa detiene la
ejecución y espera a que el usuario haga clic en
algún lugar de la ventana. Cuando se produce el
evento clic, la respuesta es cerrar la ventana de
la tortuga y sale (detiene la ejecución) del
programa Python.
O Cada vez que se ejecuta este programa, aparece
una nueva ventana y permanecerá en la
pantalla hasta que se haga clic en él.
29
Ejercicio
O Completa el rectángulo ...
O Modifique el programa agregando los
comandos necesarios para que t complete
el rectángulo.
30
Ejemplo 2
Código
1 import turtle # permite utilizar el modulo turtle
2
3 v = turtle.Screen() # crea una ventana grafica
4
5 t = turtle.Pen() # crea una tortuga de nombre t
6 t.shape("turtle") # la figura sera una tortuga
7 t.backward(120) # retrocede t 120 unidades
8 t.up() # levanta el lapiz para dejar de dibujar
9 t.right(90) # gira a la derecha 90 grados
10 t.forward(40) # avanza t 40 unidades
11 t.left(90) # gira a la izquierda 90 grados
12 t.down() # baja el lapiz para dibujar
13 t.forward(120) # avanza t 120 unidades
14
15 v.exitonclick() # solicita un clic en la ventana para cerrar.
31
Explicación
O Línea1. Python carga el módulo Turtle. Ese
módulo nos brinda dos nuevos tipos que se
puede usar: el tipo Turtle y el tipo Screen.
O Línea 3. Se crea y abre la ventana Screen.
Cada Screen contiene un lienzo, que es el
área dentro de la ventana en la que se
dibuja.
32
Explicación cont.
O Línea 5. Se crea un lienzo, un espacio en
blanco para dibujar.
O Línea 6. Se cambia la figura inicial de una
flecha a una tortuga.
O Línea 7. Se mueve la tortuga hacia atrás
100 píxeles con t.backward (100)
O Línea 8. Se usa t.up () para levantar el lápiz
y dejar de dibujar.
33
Explicación cont.
O Línea 9. Con el comando t.right (90), se gira
la tortuga a la derecha 90 grados para
apuntar hacia abajo, hacia la parte inferior
de la pantalla.
O Línea 10. Con t.forward (20), se avanza 20
píxeles. No se dibuja nada debido al uso del
comando up en la línea 7.
O Línea 11. Se gira la tortuga a la izquierda 90
grados para mirar hacia la derecha con
t.left(90), 34
Explicación cont.
O Línea 12. Con el comando t.down(), se
indica a la tortuga que vuelva a colocar la
pluma y comience nuevamente a dibujar.
O Línea 13. Se traza una línea hacia adelante,
paralela a la primera línea que se dibujo,
con t.forward (100).
35
Explicación cont.
O Línea 15. La variable ventana invoca a su
método exitonclick, el programa detiene la
ejecución y espera a que el usuario haga clic en
algún lugar de la ventana. Cuando se produce el
evento clic, la respuesta es cerrar la ventana de
la tortuga y sale (detiene la ejecución) del
programa Python.
O Cada vez que se ejecuta este programa, aparece
una nueva ventana y permanecerá en la
pantalla hasta que se haga clic en él.
36
Ejemplo 3
O El siguiente programa utiliza una tortuga
para dibujar una sola línea hacia el oeste. El
programa hace todos los ajustes necesarios:
importar el módulo de tortuga, obtiene la
ventana para dibujar y crear la tortuga. La
tortuga retrocede dibujando una línea de 75
píxeles de longitud.
37
Ejemplo 3
Código
import turtle # permite utilizar el modulo turtle
38
Salida
39
Colores
40
Color a pintar
color() Cambia el color del pintado t.color("Red")
Los colores incluyen : Red, blue, green, yellow, purple, orange, pink , brown y
grey.
41
Color de fondo
bgcolor() Cambia el color del lienzo. v.bgcolor("Red")
Los colores incluyen : Red, blue, green, yellow, purple, orange, pink , brown y
grey.
42
Ejemplo 4
Programa que dibuja un Rectángulo rojo con
líneas largas de 150 y líneas cortas de 100 de
longitud, con un color de fondo amarillo.
43
Ejemplo 4
import turtle
# Crea la ventana
v = turtle.Screen()
v.bgcolor("Yellow") # color de fondo
# Crea la tortuga
t = turtle.Turtle()
t.color("Red") # color de la Tortuga
# Dibuja
t.forward(150)
t.left(90)
t.forward(100)
t.left(90)
t.forward(150)
t.left(90)
t.forward(100)
t.left(90)
# Cierra la ventana
v.exitonclick()
44
Salida
45
Ancho de línea
46
Ancho de la línea
pensize() Cambia el ancho de la línea. t.pensize(10)
47
Ejemplo 5
Programa que dibuja un Rombo azul con
longitud de las líneas de 75 y con un ancho de
línea de 10. De color de fondo amarillo.
48
Ejemplo 5
import turtle
# Crea la ventana
v = turtle.Screen()
v.bgcolor("Yellow") # color de fondo
# Crea la tortuga
t = turtle.Turtle()
t.color("Blue") # color de la Tortuga
t.pensize(10) # ancho de la linea
# Dibuja
t.left(45)
t.forward(75)
t.left(90)
t.forward(75)
t.left(90)
t.forward(75)
t.left(90)
t.forward(75)
t.left(45)
# Cierra la ventana
v.exitonclick() 49
Salida
50
Ejercicio
O Dibuje un paralelogramo rojo con cada línea
larga de longitud 100 y cada línea corta de
longitud 50 y con un ancho de línea de 10.
Consejo: cada ángulo pequeño y grande
debe sumar 180, y cada ángulo opuesto es
el mismo
51
Circulo
52
Circulo
circle() Dibuja un circulo. t.circle(10)
53
Ejemplo 6
Programa que dibuja un Círculo verde con un
radio de 50 y con un ancho de línea de 5.
54
Ejemplo 6
import turtle
# Crea la ventana
v = turtle.Screen()
v.bgcolor("Yellow") # color de fondo
# Crea la tortuga
t = turtle.Turtle()
t.color("Green") # color de la Tortuga
t.pensize(5) # ancho de la linea
# Dibuja
t.circle(50) # dibuja un circulo
# Cierra la ventana
v.exitonclick()
55
Salida
56
Figuras del Lápiz
57
Figura del Lápiz
shape() Cambia la figura del lápiz t.shape("turtle")
58
Ejemplo 6
import turtle
# Crea la ventana
v = turtle.Screen()
v.bgcolor("Yellow")
# Crea la tortuga
t = turtle.Turtle()
t.color("Blue")
# Dibuja
t.shape("turtle") # la figura sera una tortuga
t.forward(100)
# Cierra la ventana
v.exitonclick()
59
Salida
60
Más Comandos
61
Más Comandos
home() Mueve la tortuga al punto de partida. t.home()
62
Ejemplo 6
Programa que escribe “NL”. Sera necesario
utilizar t.up(), t.down() y t.home()
63
Ejemplo 6
#-*- coding: utf-8 -*-
import turtle
# Crea la ventana
v = turtle.Screen()
v.bgcolor("Yellow")
# Crea la tortuga
t = turtle.Turtle()
t.color("Green")
t.pensize(10)
# Dibuja la N
t.left(90)
t.forward(100)
t.right(150)
t.forward(115)
t.left(150)
t.forward(100)
64
Ejemplo 6 cont.
# Dibuja la L
t.up() # levanta el lápiz para dejar de dibujar
t.home() # mueve la tortuga al punto de partida.
t.forward(150)
t.down() # baja el lápiz para dibujar
t.backward(50)
t.left(90)
t.forward(100)
# Cierra la ventana
v.exitonclick()
65
Salida
66
Varias Tortugas
67
Color de relleno
Permite colorear una Figura import turtle
t.fillcolour("Red")
t.begin_fill()
<<< el código, va
aquí >>>
t.end_fill()
68
Instancia
O Al igual que podemos tener muchos enteros
diferentes en un programa, podemos tener
muchas tortugas.
O Cada uno de ellos es un objeto
independiente y llamamos a cada uno una
instancia del tipo turtle.
69
Atributos de Instancias
O Cada instancia tiene sus propios atributos y
métodos, por lo que Rafael dibuja con un
bolígrafo rojo, mientras que Donatelo dibuja
con un bolígrafo negro delgado.
70
#-*- coding: utf-8 -*-
import turtle
# Crea la ventana
v = turtle.Screen()
v.bgcolor("lightgreen")
# Crea la tortuga rafael
rafael = turtle.Turtle()
# Dibuja un triángulo
rafael.fillcolor("Red") # color del relleno
rafael.begin_fill() # inicia el relleno
rafael.forward(80)
rafael.left(120)
rafael.forward(80)
rafael.left(120)
rafael.forward(80)
rafael.left(120)
rafael.end_fill() # fin del relleno
# Crea la tortuga donatelo
donatelo = turtle.Turtle()
donatelo.pensize(5)
71
# Dibuja un cuadrado
donatelo.up() # acomoda donatelo
donatelo.right(90)
donatelo.forward(50)
donatelo.down()
donatelo.forward(50)
donatelo.left(90)
donatelo.forward(50)
donatelo.left(90)
donatelo.forward(50)
donatelo.left(90)
donatelo.forward(50)
donatelo.left(90)
donatelo.hideturtle() # oculta la tortuga
# Cierra la ventana
v.exitonclick()
72
Salida
73
Ejemplos Varios
74
Ejemplos
75
76
77
78
79
80
Ejemplos
81
82
Resumen de los Métodos de
turtle
83
Método Parámetros Descripción
Turtle Ninguna Crea y devuelve un nuevo objeto de tortuga.
forward distancia Mueve la tortuga hacia adelante.
backward distancia Mueve la tortuga hacia atrás.
right ángulo Gira la tortuga en sentido horario.
left ángulo Gira la tortuga en sentido antihorario.
up Ninguno Alza la cola de la tortuga.
down Ninguno Baja la cola de tortuga.
color Nombre Cambia el color de la cola de la tortuga.
fillcolor Nombre Cambia el color de relleno de un polígono.
heading Ninguno Retorna el encabezado actual (angulo).
position Ninguno Retorna la ubicación actual de la tortuga (x, y)
(como un vector Vec2D).
goto x, y Mueve la tortuga a la posición x, y
84
Método Parámetros Descripción
begin_fill Ninguno Inicia el relleno de un polígono.
end_fill Ninguno Finaliza el relleno de un polígono.
dot Ninguno Pinta un punto en la posición actual.
stamp Ninguno Pinta una impresión de la forma de la tortuga
en la ubicación actual.
shape Nombre Debe ser arrow (flecha), classic (clásico), turtle
(tortuga), circle(círculo) o square(cuadrado).
85
Mas Información
86
https://docs.python.org/3/library/turtle.html
87
Puede encontrar una lista de nombres de colores
permitidos en:
https://www.w3schools.com/colors/colors_names.asp
88
Gracias