13
Taller introducción a Python con Turtle Copie el archivo suministrado de la USB a la carpeta MisDocumentos (Asegúrese de borrar carpetas existentes de nombre Python), posteriormente, descomprima el archivo de nombre PyzoPythonIDEPortable.zip en la carpeta MisDocumentos de la sala de cómputo, así: luego ejecute el archivo de nombre pyzo.exe esto iniciará una ventana como la siguiente: Seleccione Spanish y desmarque la opción show this wizard on startup oprima next y luego cierre el asistente. Luego encontrará una ventana como la que aparece en la siguiente figura, es el IDE(Entorno integrado de desarrollo para Python pyzo).

Taller de introduccion a python con turtle

Embed Size (px)

Citation preview

Page 1: Taller de  introduccion a python  con  turtle

Taller introducción a Python con Turtle

Copie el archivo suministrado de la USB a la carpeta MisDocumentos (Asegúrese de borrar carpetasexistentes de nombre Python), posteriormente, descomprima el archivo de nombrePyzoPythonIDEPortable.zip en la carpeta MisDocumentos de la sala de cómputo, así:

luego ejecute el archivo de nombre pyzo.exe

esto iniciará una ventana como la siguiente:

Seleccione Spanish y desmarque la opción show this wizard on startup oprima next yluego cierre el asistente.Luego encontrará una ventana como la que aparece en la siguiente figura, es elIDE(Entorno integrado de desarrollo para Python pyzo).

Page 2: Taller de  introduccion a python  con  turtle

Como lo muestra la imagen, Guarde un archivo con terminación .py mediante Archivo Guardar→Como, éste será el código Python de su programa. Puede ejecutarlo en cualquier momento mediantela opción Ejecutar Ejecutar el archivo como un script → esto mostrará la salida por consola de suprograma.

Importante: si no guarda previamente el archivo con algún nombre obtendrá un error al intentarejecutarlo.

Estructuras básicas de Python y su relación con Pseint

Page 3: Taller de  introduccion a python  con  turtle

Mientras y Para (Pseudocódigo vs Python)

If (Pseudocódigo vs Python)

Operadores aritméticos, lógicos y de comparación en PythonOperadores Aritméticos

Page 4: Taller de  introduccion a python  con  turtle

GRÁFICOS CON TORTUGA Y SUBPROCESOS (def)

Introducción a las gráficas tortuga

En 1967 Wally Feurzeig y Seymour Papert crearon LOGO, un lenguaje de programación con fineseducativos. Ese lenguaje incluía las llamadas “gráficas tortuga”.Las “gráficas tortuga” son construidas por un “robot” al cual se le pueden dar órdenes de movimiento(avance, retroceso o giro) y que puede ir dejando un rastro sobre la pantalla. Moviendo adecuadamentela tortuga se pueden conseguir dibujar todo tipo de figuras.

Dibujar “gráficas tortuga” es similar a dibujar con un lápiz sobre papel, salvo que existen ciertasinstrucciones definidas que se imparten al “robot tortuga” y permiten dibujar líneas, puntos, mover ellápiz de un sitio a otro, cambiar el color y grosor del trazo, colorear el interior de las figuras, etc.

Situar el cursor en un lugar del área de dibujo es equivalente a colocar la punta del lápiz en un punto deun papel y desplazar el cursor es equivalente a dibujar un segmento sobre el papel o desplazar el lápiza otro punto del papel.Las posiciones en el área de dibujo se localizan mediante coordenadas XY en elque cada píxel es una unidad y el origen es la coordenada 0,0 en el centro de la ventana. Ver figura 1[1].

Page 5: Taller de  introduccion a python  con  turtle

Figura 1. Sistema de coordenadas imaginario para gráficos tortuga

Para iniciar el entorno es necesario importar la librería turtle, el siguiente código muestra la orientacióninicial de la tortuga, representada por un triángulo relleno de color negro, note su posición por defectoes sobre el eje X con la cola en la coordenada 0,0 y la cabeza orientada hacia un número positivo en X.

El comando showturtle() muestra la tortuga en la pantalla y mainloop() permite que la ventana seacerrada.

Recuerde que puede utilizar una larga lista de órdenes para realizar dibujos sobre el lienzo imaginario,el siguiente código dibuja un cuadrado en la pantalla y deja la tortuga en la posición inicial.

Page 6: Taller de  introduccion a python  con  turtle

El comando forward(distancia) avanza la tortuga una distancia determinada mientras dibuja una líneay el comando right(ángulo) gira a la derecha la tortuga un ángulo determinado, recuerde quemainloop() permite cerrar la ventana.

A continuación se muestra una lista resumen de comandos con su explicación para el taller:

LISTA DE COMANDOS PARA GRÁFICOS TORTUGA

forward(distancia) mueve la tortuga hacia adelante una distancia determinada.

backward(distancia) mueve la tortuga hacia atrás una distancia determinada.

right(angulo) gira a la derecha la tortuga un número de ángulos dado.

left(angulo) gira a la izquierda la tortuga un número de ángulos dado.

up() para de dibujar hasta que se utilice el comando down(), la tortuga se moverá pero no dibujará

mientras lo hace. Es equivalente a levantar el lápiz del lienzo imagninario.

down() comienza a dibujar hasta que se utilice el comando up(), la tortuga se moverá y dibujará

mientras lo hace. Es equivalente a poner el lápiz sobre lienzo imagninario. El programa inicia siempre

con esta instrucción activada por defecto.

pencolor("nombre del color en inglés") cambia el color actual de dibujo de la tortuga, este color es

un nombre en inglés por ejemplo pencolor("red") iniciará a dibujar con color rojo.

bgcolor("nombre del color en ingles") cambia el color actual del lienzo, este color es un nombre en

inglés por ejemplo bgcolor("green") pondrá un lienzo de fondo de color verde.

pensize(ancho) determina el ancho de la línea de dibujo, ancho es un número entero.

clear() borra todo tipo de dibujos realizados por la tortuga, pero la deja en la misma posición y conserva

los colores de fondo y lápiz actuales.

reset() borra todo tipo de dibujos realizados por la tortuga, incluidos los colores de fondo y lápiz

actuales. Posteriormente deja la tortuga en la coordenada 0, 0.

Page 7: Taller de  introduccion a python  con  turtle

home() mueve la tortuga hacia la coordenada 0, 0

showturtle() no muestra la tortuga en pantalla.

hideturtle() muestra la tortuga en pantalla.

speed(velocidad) cambia la velocidad de la animación de dibujo de la tortuga en la pantalla. speed(0)

hace los dibujos instantáneamente sin ninguna animación es la máxima velocidad, speed(1) es muy

lento, speed(3) es lento, speed(6) velocidad normal, speed(10) es rápido.

goto(x,y) mueve la tortuga a una coordenada x,y determinada

fillcolor("color") establece un color de relleno para una figura. Color es un color en ingles entre

comillas dobles.

begin_fill() comienza a rellenar una figura (polígono) con un color determinado en fillcolor("color") hasta

que se escriba end_fill()

end_fill() termina el rellenado de un polígono determinado, de ahí en adelante las figuras no tendrán un

relleno específico.

write("texto") escribe el texto entre comillas sobre el lienzo imaginario en la posición actual.

position() devuelve la coordenada actual de la tortuga.

dot(grosor, "color") dibuja un punto de grosor dado sobre la coordenada actual, grosor es un númeroentero y color es un color en ingles escrito en comillas dobles.

Las siguientes instrucciones permiten controlar la ventana, solo funcionarán si el programa seestá ejecutando en windows, linux, mac etc. no funcionarán en los entornos web (en línea).

setup(ancho, alto) define el tamaño de la ventana en la cual se muestra el lienzo imaginario, ancho y

alto son números enteros que corresponden a píxeles.

title("titulo") establece el título de la ventana de dibujo, título es una cadena de caracteres cualquiera

entre comillas.

variable_python=textinput("título", "mensaje") muestra una ventana emergente en el área de dibujo

con título “título” y mensaje “mensaje” que guarda una cadena de caracteres en la variable python dada.

variable_python=numinput("título", "mensaje", valorinicial, minimovalor, maximovalor) muestra

una ventana emergente en el área de dibujo con título “título” y mensaje “mensaje” que guarda un

número de tipo float en la variable python dada. Valorinicial es el valor que se muestra por defecto en la

ventana, minimovalor es el valor mínimo permitido, y máximovalor el valor máximo permitido. Si se

desea utilizar un número entero es necesario convertirlo mediante la función int()

Page 8: Taller de  introduccion a python  con  turtle

Subprocesos en python (def)

A veces, en un determinado programa es necesario efectuar una misma tarea en distintos puntos. Paraevitar tener que volver a escribir una y otra vez las mismas instrucciones.

En el primer ejemplo dibujamos un cuadrado mediante ciertas instrucciones de gráficas tortuga, perosería bastante tedioso escribir todas estas instrucciones cada vez que necesitemos dibujar uno, Pythonpermite que agrupemos estas instrucciones bajo un solo nombre y cada vez que lo escribamos seejecuten, la siguiente definición permite agrupar las instrucciones que permiten crear un cuadrado.

Y llamarlas cada vez que queramos mediante cuadrado()

Como se aprecia en la figura las instrucciones que están 4 espacios debajo de la definición

def cuadrado():

lista_de_instrucciones

se ejecutan en un solo grupo, cada vez que invocamos el nombre cuadrado().Ahora bien, el código anterior dibuja un cuadrado de 50 pixeles, pero y ¿Que sucede si queremos crearun cuadrado y definir el tamaño que nosotros queramos? Utilizamos los parámetros de la función paraenviar una variable que defina el tamaño en cada llamada de cuadrado así:

Page 9: Taller de  introduccion a python  con  turtle

Como se aprecia en la figura lado es una variable que toma un valor determinado en cada llamada dela subrutina cuadrado, en primer lugar toma el valor de 50 cuadrado(50) y luego el valor de 100 encuadrado(100)

El programa genera la siguiente figura:

Ya realizamos la primera subrutina python, pero y si queremos procesar un valor dentro de la subrutinacuadrado y utilizarlo posteriormente ¿Cómo lo hacemos? Utilizamos la palabra reservada return.

Por ejemplo si queremos dibujar dos cuadrado de lado dado y luego escribir en la pantalla la suma delas dos áreas en píxeles cuadrados hacemos lo siguiente:

La ejecución del programa será la siguiente:

Page 10: Taller de  introduccion a python  con  turtle

En resumen, en python se pueden agrupar un conjunto de instrucciones mediante la palabra reservadadef con un nombre seguida de dos puntos, las instrucciones que se agrupan deben ir con 4 espacios ypuede tener la palabra return (si se desea procesar algún valor en la subrutina). Las funciones puedenrequerir ninguno, uno o muchos parámetros de entrada así como devolver ninguna, una o muchasvariables de salida.

Las funciones son llamadas por su nombre seguido de un paréntesis que contiene los parámetros querecibe separados por coma si es que los tiene.

Page 11: Taller de  introduccion a python  con  turtle

TALLER

Ejercicio 1. Convierta el siguiente algoritmo a python.

Importante: • Recuerde que debe colocar mainloop() al finalizar las instrucciones de gráficos tortuga para

poder cerrar la ventana.• No debe guardar los archivos con nombre turtle.py puesto que esto genera un error en la

ejecución.

2. Lea el contenido de la introducción y realice un programa Python con gráficos tortuga, que permitacrear una figura como la siguiente.Los cuadrados deben ser realizados por medio de un subproceso Python (def).

Page 12: Taller de  introduccion a python  con  turtle

3. Lea el contenido de la introducción y realice un programa Python con gráficos tortuga, que dibujetres triángulos equiláteros como los de la figura.

Nota: el dibujo del triángulo equilátero debe ser realizado en una función o subrutina.

4. Modifique el programa anterior Nro 3 para que al finalizar la ejecución imprima por pantalla(utilizando print(" ")) o en el lienzo de dibujo la suma del área de los tres triángulos equiláteros.

El área de un triángulo equilátero es √34

∗lado2

Recuerde que el cálculo de exponentes en python se realiza mediante el operador ** por ejemplo:

3 elevado a la 2 es equivalente a 3**2y raíz cuadrada de 4 es equivalente a 4**0.5

Tambien puede importar la función math mediante:

from math import *

y usar las funciones pow(x, y) que eleva x a la y o la función sqrt(x) que devuelve la raíz cuadrada de x

Page 13: Taller de  introduccion a python  con  turtle

5. Realice un programa en Python con gráficos tortuga que dibuje un espiral similar al siguiente: