Turtle es una biblioteca de Python que se utiliza para crear gráficos, imágenes y juegos. Fue desarrollado por Wally Feurzeig, Seymour Parpet y Cynthia Slolomon en 1967. Era parte del lenguaje de programación Logo original.
El lenguaje de programación Logo era popular entre los niños porque nos permite dibujar gráficos atractivos en la pantalla de forma sencilla. Es como un pequeño objeto en la pantalla, que puede moverse según la posición deseada. De manera similar, la biblioteca Turtle viene con la función interactiva que brinda la flexibilidad de trabajar con Python.
En este tutorial, aprenderemos los conceptos básicos de la biblioteca de tortugas, cómo configurar la tortuga en una computadora, programar con la biblioteca de tortugas de Python, algunos comandos importantes de tortugas y desarrollaremos un diseño breve pero atractivo utilizando la biblioteca de tortugas de Python.
Introducción
Turtle es una biblioteca preinstalada en Python que es similar al lienzo virtual en el que podemos dibujar imágenes y formas atractivas. Proporciona el lápiz en pantalla que podemos usar para dibujar.
El tortuga La biblioteca está diseñada principalmente para introducir a los niños en el mundo de la programación. Con la ayuda de la biblioteca de Turtle, los nuevos programadores pueden tener una idea de cómo podemos programar con Pitón de una manera divertida e interactiva.
Es beneficioso para los niños y para el programador experimentado porque permite diseñar formas únicas, imágenes atractivas y varios juegos. También podemos diseñar los minijuegos y la animación. En la siguiente sección, aprenderemos varias funciones de la biblioteca de tortugas.
Empezando con la tortuga
Antes de trabajar con la biblioteca de Turtle, debemos asegurarnos de las dos cosas más esenciales para programar.
La tortuga está integrada en la biblioteca, por lo que no es necesario instalarla por separado. Solo necesitamos importar la biblioteca a nuestro entorno Python.
La biblioteca de tortugas de Python consta de todos los métodos y funciones importantes que necesitaremos para crear nuestros diseños e imágenes. Importe la biblioteca de tortugas usando el siguiente comando.
import turtle
Ahora podemos acceder a todos los métodos y funciones. Primero, necesitamos crear una ventana dedicada donde llevamos a cabo cada comando de dibujo. Podemos hacerlo inicializando una variable para ello.
s = turtle.getscreen()
Se verá como una imagen de arriba y el pequeño triángulo en el medio de la pantalla es una tortuga. Si la pantalla no aparece en su sistema informático, utilice el siguiente código.
Ejemplo -
import turtle # Creating turtle screen s = turtle.getscreen() # To stop the screen to display turtle.mainloop()
Producción:
La pantalla, al igual que el lienzo y la tortuga, actúa como un bolígrafo. Puedes mover la tortuga para diseñar la forma deseada. La tortuga tiene ciertas características cambiantes como el color, la velocidad y el tamaño. Se puede mover a una dirección específica, y moverse en esa dirección a menos que le indiquemos lo contrario.
En la siguiente sección, aprenderemos a programar con la biblioteca tortuga de Python.
Programando con tortuga
Primero, debemos aprender a mover la tortuga en todas las direcciones que queramos. Podemos personalizar el corral como la tortuga y su entorno. Aprendamos el par de comandos para realizar algunas tareas específicas.
La tortuga se puede mover en cuatro direcciones.
- Adelante
- Hacia atrás
- Izquierda
- Bien
movimiento de tortuga
La tortuga puede moverse hacia adelante y hacia atrás en la dirección hacia la que mira. Veamos las siguientes funciones.
Ejemplo - 3:
import turtle # Creating turtle screen t = turtle.Turtle() # To stop the screen to display t.forward(100) turtle.mainloop()
Producción:
Ejemplo - 2:
import turtle # Creating turtle screen t = turtle.Turtle() # Move turtle in opposite direction t.backward(100) # To stop the screen to display turtle.mainloop()
Producción:
Ejemplo - 3:
import turtle # Creating turtle screen t = turtle.Turtle() t.heading() # Move turtle in opposite direction t.right(25) t.heading() # To stop the screen to display turtle.mainloop()
Producción:
Ejemplo -
import turtle # Creating turtle screen t = turtle.Turtle() t.heading() # Move turtle in left t.left(100) t.heading() # To stop the screen to display turtle.mainloop()
Producción:
La pantalla se divide inicialmente en cuatro cuadrantes. La tortuga que se posiciona al inicio del programa es (0,0) conocida como Hogar.
Ejemplo -
import turtle # Creating turtle screen t = turtle.Turtle() # Move turtle with coordinates t.goto(100, 80) # To stop the screen to display turtle.mainloop()
Producción:
Dibujar una forma
Discutimos el movimiento de la tortuga. Ahora, aprendemos a pasar a crear formas reales. Primero, dibujamos el polígono ya que todos consisten en líneas rectas conectadas en ciertos ángulos. Entendamos el siguiente ejemplo.
Ejemplo -
t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100)
Se verá como la siguiente imagen.
Producción:
Podemos dibujar cualquier forma usando la tortuga, como un rectángulo, un triángulo, un cuadrado y muchas más. Pero debemos cuidar las coordenadas al dibujar el rectángulo porque los cuatro lados no son iguales. Una vez que dibujamos el rectángulo, incluso podemos intentar crear otros polígonos aumentando el número de lados.
Dibujar figuras preestablecidas
Supongamos que quieres dibujar un círculo . Si intentas dibujarlo de la misma manera que dibujaste el cuadrado, sería extremadamente tedioso y tendrías que dedicar mucho tiempo solo a esa forma. Afortunadamente, la biblioteca Python Turtle proporciona una solución para esto. Puedes usar un solo comando para dibujar un círculo.
El círculo se dibuja con el radio dado. La extensión determina qué parte del círculo se dibuja y, si no se proporciona la extensión o no se proporciona ninguna, se dibuja el círculo completo. Entendamos el siguiente ejemplo.
Ejemplo -
import turtle # Creating turtle screen t = turtle.Turtle() t.circle(50) turtle.mainloop()
Producción:
También podemos dibujar un punto, que también se conoce como círculo relleno. Siga el método dado para dibujar un círculo relleno.
Ejemplo -
import turtle # Creating turtle screen t = turtle.Turtle() t.dot(50) turtle.mainloop()
Producción:
El número que hemos pasado en el punto() La función es el diámetro del punto. Podemos aumentar y disminuir el tamaño del punto cambiando su diámetro.
Hasta ahora, hemos aprendido el movimiento de la tortuga y hemos diseñado las distintas formas. En las próximas secciones, aprenderemos la personalización de Turtle y su entorno.
Cambiar el color de la pantalla
De forma predeterminada, la pantalla de la tortuga se abre con el fondo blanco. Sin embargo, podemos modificar el color de fondo de la pantalla usando la siguiente función.
Ejemplo -
import turtle # Creating turtle screen t = turtle.Turtle() turtle.bgcolor('red') turtle.mainloop()
Producción:
Hemos pasado un color rojo. También podemos reemplazarlo con cualquier color o podemos usar el código hexadecimal para usar una variedad de códigos para nuestra pantalla.
Agregar imagen al fondo
Al igual que el color de fondo de la pantalla, podemos agregar la imagen de fondo usando la siguiente función.
Ejemplo -
import turtle # Creating turtle turtle t = turtle.Turtle() turtle.bgpic() turtle.bgpic(r'C:UsersDEVANSH SHARMADownloadsperson.webp') turtle.bgpic() turtle.mainloop()
Cambiar el tamaño de la imagen
Podemos cambiar el tamaño de la imagen usando el tamaño de pantalla() función. La sintaxis se proporciona a continuación.
Sintaxis -
turtle.screensize(canvwidth = None, canvheight = None, bg = None)
Parámetro - Se necesitan tres parámetros.
Entendamos el siguiente ejemplo.
java xor
Ejemplo -
import turtle # Creating turtle turtle t = turtle.Turtle() turtle.screensize() turtle.screensize(1500,1000) turtle.screensize() turtle.mainloop()
Producción:
Cambiar el título de la pantalla
A veces queremos cambiar el título de la pantalla. Por defecto, muestra el Gráficos del tutorial de Python . Podemos hacerlo personal como 'Mi primer programa de tortugas' o 'Dibujar formas con Python' . Podemos cambiar el título de la pantalla usando la siguiente función.
turtle.Title('Your Title')
Veamos el ejemplo.
Ejemplo -
import turtle # Creating turtle t = turtle.Turtle() turtle.title('My Turtle Program') turtle.mainloop()
Producción:
Puede cambiar el título de la pantalla según sus preferencias.
Cambiar el tamaño del bolígrafo
Podemos aumentar o disminuir el tamaño de la tortuga según el requerimiento. A veces necesitamos grosor en la pluma. Podemos hacer esto usando el siguiente ejemplo.
Ejemplo -
import turtle # Creating turtle turtle t = turtle.Turtle() t.pensize(4) t.forward(200) turtle.mainloop()
Producción:
Como podemos ver en la imagen de arriba, el bolígrafo tiene cuatro veces el tamaño original. Podemos usarlo para dibujar líneas de varios tamaños.
Control de color del lápiz
Por defecto, cuando abrimos una nueva pantalla, la tortuga aparece en color negro y dibuja con tinta negra. Podemos cambiarlo según las dos cosas.
- Podemos cambiar el color de la tortuga, que es un color de relleno.
- Podemos cambiar el color del bolígrafo, que básicamente es un cambio del contorno o del color de la tinta.
También podremos cambiar tanto el color del bolígrafo como el color de la tortuga si queremos. Sugerimos aumentar el tamaño de la tortuga para que los cambios de color puedan ser claramente visibles. Entendamos el siguiente código.
Ejemplo -
import turtle # Creating turtle turtle t = turtle.Turtle() # Increase the turtle size t.shapesize(3,3,3) # fill the color t.fillcolor('blue') # Change the pen color t.pencolor('yellow') turtle.mainloop()
Producción:
Escriba la siguiente función para cambiar el color de ambos.
Ejemplo - 2:
import turtle # Creating turtle turtle t = turtle.Turtle() t.shapesize(3,3,3) # Chnage the color of both t.color('green', 'red') t.forward(100) turtle.mainloop()
Producción:
Explicación:
En el código anterior, el primer color es el color de lápiz y el segundo es un color de relleno.
Tortuga rellena la imagen
Los colores hacen que una imagen o una forma sean muy atractivas. Podemos rellenar formas con varios colores. Entendamos el siguiente ejemplo para agregar color a los dibujos. Entendamos el siguiente ejemplo.
monitor de tubo de rayos catódicos
Ejemplo -
import turtle # Creating turtle turtle t = turtle.Turtle() t.shapesize(3,3,3) t.begin_fill() t.fd(100) t.lt(120) t.fd(100) t.lt(120) t.fd(100) t.end_fill() turtle.mainloop()
Producción:
Explicación:
Cuando se ejecuta el programa, primero dibuja el triángulo y luego lo rellena con el color negro sólido como en el resultado anterior. Hemos utilizado el comenzar_rellenar() Método que indica que dibujaremos una forma cerrada para rellenar. Luego, utilizamos el .end_fill(), lo que indica que hemos terminado con la forma creadora. Ahora se puede llenar de color.
Cambiando la forma de la tortuga
Por defecto, la forma de la tortuga es triangular. Sin embargo, podemos cambiar la forma de la tortuga y este módulo proporciona muchas formas para la tortuga. Entendamos el siguiente ejemplo.
Ejemplo -
import turtle # Creating turtle turtle t = turtle.Turtle() t.shape('turtle') # Change to arrow t.shape('arrow') # Chnage to circle t.shape('circle') turtle.mainloop()
Producción:
Podemos cambiar la forma de la tortuga según el requisito. Estas formas pueden ser un cuadrado, un triángulo, un clásico, una tortuga, una flecha y un círculo. El clásico es la forma original de la tortuga.
Cambiar la velocidad del lápiz
La velocidad de la tortuga se puede cambiar. Generalmente se mueve a una velocidad moderada sobre la pantalla pero podemos aumentar y disminuir su velocidad. A continuación se muestra el método para modificar la velocidad de la tortuga.
Ejemplo -
import turtle # Creating turtle t = turtle.Turtle() t.speed(3) t.forward(100) t.speed(7) t.forward(100) turtle.mainloop()
Producción:
La velocidad de la tortuga puede variar valores enteros en el rango 0…10. No se pasa ningún argumento en el velocidad() función, devuelve la velocidad actual. Las cadenas de velocidad se asignan a valores de velocidad de la siguiente manera.
0 | Lo más rápido |
10 | Rápido |
6 | Normal |
3 | Lento |
1 | El más lento |
Nota: si la velocidad se asigna a cero significa que no se realizará ninguna animación.
turtle.speed() turtle.speed('normal') turtle.speed() turtle.speed(9) turtle.speed()
Personalización en una línea
Supongamos que queremos múltiples cambios dentro de la tortuga; podemos hacerlo usando solo una línea. A continuación se presentan algunas características de la tortuga.
- El color del bolígrafo debe ser rojo.
- El color de relleno debe ser naranja.
- El tamaño del bolígrafo debe ser 10.
- La velocidad del lápiz debe ser 7.
- El color de fondo debe ser azul.
Veamos el siguiente ejemplo.
Ejemplo -
import turtle # Creating turtle t = turtle.Turtle() t.pencolor('red') t.fillcolor('orange') t.pensize(10) t.speed(7) t.begin_fill() t.circle(75) turtle.bgcolor('blue') t.end_fill() turtle.mainloop()
Producción:
Usamos solo una línea y cambiamos las características de la tortuga. Para obtener más información sobre este comando, puede aprender del documentación oficial de la biblioteca .
Cambiar la dirección del lápiz
Por defecto, la tortuga apunta hacia la derecha en la pantalla. A veces, necesitamos mover la tortuga al otro lado de la pantalla. Para lograr esto, podemos utilizar el penup() método. El pluma abajo() La función se utiliza para empezar a dibujar de nuevo. Considere el siguiente ejemplo.
Ejemplo -
import turtle # Creating turtle t = turtle.Turtle() t.fd(100) t.rt(90) t.penup() t.fd(100) t.rt(90) t.pendown() t.fd(100) t.rt(90) t.penup() t.fd(100) t.pendown() turtle.mainloop()
Producción:
Como podemos ver en el resultado anterior, hemos obtenido dos líneas paralelas en lugar de un cuadrado.
Borrar pantalla
Hemos cubierto la mayoría de los conceptos de diseño de la tortuga. A veces necesitamos una pantalla clara para dibujar más diseños. Podemos hacerlo usando la siguiente función.
t.clear()
El método anterior borrará la pantalla para que podamos dibujar más diseños. Esta función solo elimina los diseños o formas existentes, no realiza ningún cambio en la variable. La tortuga permanecerá en la misma posición.
Restablecer el entorno
También podemos restablecer el funcionamiento actual utilizando la función de reinicio. Restaura el torreta configuración y borra la pantalla. Solo necesitamos usar la siguiente función.
t.reset
Se eliminarán todas las tareas y la tortuga volverá a su posición inicial. Se restaurarán las configuraciones predeterminadas de Turtle, como color, tamaño, forma y otras características.
Hemos aprendido los fundamentos básicos de la programación de tortugas. Ahora, discutiremos algunos conceptos esenciales y avanzados de la biblioteca de tortugas.
Dejando un sello
Podemos dejar el sello de tortuga en la pantalla. El sello no es más que una huella de la tortuga. Entendamos el siguiente ejemplo.
Ejemplo -
import turtle # Creating turtle t = turtle.Turtle() t.stamp() t.fd(200) t.stamp() t.fd(100) turtle.mainloop()
Producción:
Si imprimimos el estampilla() método, mostrará un número que no es más que la ubicación de la tortuga o el ID del sello. También podemos eliminar un sello en particular usando el siguiente comando.
t.clearstamp(8) # 8 is a stamp location.
Clonación de una tortuga
A veces, buscamos la tortuga múltiple para diseñar una forma única. Proporciona la posibilidad de clonar la tortuga que trabaja actualmente en el entorno y podemos mover ambas tortugas en la pantalla. Entendamos el siguiente ejemplo.
Ejemplo -
import turtle # Creating turtle t = turtle.Turtle() c = t.clone() t.color('blue') c.color('red') t.circle(20) c.circle(30) for i in range(40, 100, 10): c.circle(i) turtle.mainloop()
Producción:
Explicación:
En el código anterior, clonamos la tortuga en la variable c y llamamos a la función círculo. Primero, dibuja el círculo azul y luego dibuja los círculos exteriores según las condiciones del bucle for.
En la siguiente sección, discutiremos cómo podemos usar declaraciones condicionales y de bucle de Python para crear diseños usando la tortuga.
Programación Turtle usando bucles y declaraciones condicionales
Hasta ahora hemos aprendido los conceptos básicos y avanzados de la biblioteca de tortugas. El siguiente paso es explorar esos conceptos con los bucles y declaraciones condicionales de Python. Nos dará un enfoque práctico a la hora de comprender estos conceptos. Antes de continuar, debemos recordar los siguientes conceptos.
Entendamos los siguientes ejemplos.
para bucles
En el ejemplo anterior, escribimos varias líneas repetidas en nuestro código. Aquí, implementaremos la creación de un programa cuadrado usando el bucle for. Por ejemplo -
Ejemplo:
t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100) t.rt(90)
Podemos acortarlo usando un bucle for. Ejecute el siguiente código.
Ejemplo
import turtle # Creating turtle t = turtle.Turtle() for i in range(4): t.fd(100) t.rt(90) turtle.mainloop()
Producción:
Explicación
En el código anterior, el bucle for repitió el código hasta llegar al contador 4. La i es como un contador que comienza desde cero y sigue aumentando en uno. Comprendamos la ejecución del bucle anterior paso a paso.
- En la primera iteración, i = 0, la tortuga avanza 100 unidades y luego gira 90 grados hacia la derecha.
- En la segunda iteración, i = 1, la tortuga avanza 100 unidades y luego gira 90 grados hacia la derecha.
- En la tercera iteración, i = 2, la tortuga avanza 100 unidades y luego gira 90 grados hacia la derecha.
- En la tercera iteración, i = 3, la tortuga avanza 100 unidades y luego gira 90 grados hacia la derecha.
Después de completar la iteración, la tortuga saltará fuera del bucle.
mientras bucles
Se utiliza para ejecutar un bloque de código hasta que se cumpla una condición. El código finalizará cuando encuentre una condición falsa. Entendamos el siguiente ejemplo.
Ejemplo -
import turtle # Creating turtle t = turtle.Turtle() n=10 while n <= 60: t.circle(n) n="n+10" turtle.mainloop() < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-turtle-programming/99/python-turtle-programming-24.webp" alt="Python Turtle Programming"> <p>As we can see in the output, we draw multiple circles using the while loop. Every time the loop executes the new circle will be larger than the previous one. The n is used as a counter where we specified the value of n increase in the each iteration. Let's understand the iteration of the loop.</p> <ul> <li>In the first iteration, the initial value of n is 10; it means the turtle draw the circle with the radius of 10 units.</li> <li>In the second iteration, the value of n is increased by 10 + 10 = 20; the turtle draws the circle with the radius of 20 units.</li> <li>In the second iteration, the value of n is increased by 20 + 10 = 30; the turtle draws the circle with the radius of 30 units.</li> <li>In the second iteration, the value of n is increased by 30 + 10 = 40; the turtle draws the circle with the radius of 30 units.</li> </ul> <h2>Conditional Statement</h2> <p>The conditional statement is used to check whether a given condition is true. If it is true, execute the corresponding lines of code. Let's understand the following example.</p> <p> <strong>Example</strong> </p> <pre> import turtle # Creating turtle t = turtle.Turtle() n = 40 if n<=50: t.circle(n) else: t.forward(n) t.backward(n-10) turtle.mainloop() < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-turtle-programming/99/python-turtle-programming-25.webp" alt="Python Turtle Programming"> <p> <strong>Explanation</strong> </p> <p>In the above program, we define the two outcomes based on user input. If the entered number is less of equal than the 50 means draw the circle otherwise else part. We gave the 40 as input so that if block got executed and drew the circle.</p> <p>Now let's move to see a few cool designs using the turtle library.</p> <h3>Attractive Designs using Python Turtle Library</h3> <p>We have learned basic and advance concepts of Python turtle library. We explain every possible feature of this library. By using its function, we can design games, unique shapes and many more things. Here, we mention a few designs using the turtle library.</p> <h3>Design -1 Circle Spiro graph</h3> <p> <strong>Code</strong> </p> <pre> import turtle # Creating turtle t = turtle.Turtle() turtle.bgcolor('black') turtle.pensize(2) turtle.speed(0) while (True): for i in range(6): for colors in ['red', 'blue', 'magenta', 'green', 'yellow', 'white']: turtle.color(colors) turtle.circle(100) turtle.left(10) turtle.hideturtle() turtle.mainloop() </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-turtle-programming/99/python-turtle-programming-26.webp" alt="Python Turtle Programming"> <p>The turtle will move for the infinite time because we have used the infinite while loop. Copy the above code and see the magic.</p> <h3>Design - 2: Python Vibrate Circle</h3> <p> <strong>Code</strong> </p> <pre> import turtle # Creating turtle t = turtle.Turtle() s = turtle.Screen() s.bgcolor('black') t.pencolor('red') a = 0 b = 0 t.speed(0) t.penup() t.goto(0,200) t.pendown() while(True): t.forward(a) t.right(b) a+=3 b+=1 if b == 210: break t.hideturtle() turtle.done() </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-turtle-programming/99/python-turtle-programming-27.webp" alt="Python Turtle Programming"> <p> <strong>Code</strong> </p> <pre> import turtle # Creating turtle t = turtle.Turtle() s = turtle.Screen() s.bgcolor('black') turtle.pensize(2) # To design curve def curve(): for i in range(200): t.right(1) t.forward(1) t. speed(3) t.color('red', 'pink') t.begin_fill() t.left(140) t.forward(111.65) curve() t.left(120) curve() t.forward(111.65) t.end_fill() t.hideturtle() turtle.mainloop() </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-turtle-programming/99/python-turtle-programming-28.webp" alt="Python Turtle Programming"> <p>In the above code, we define the curve function to create curve to screen. When it takes the complete heart shape, the color will fill automatically. Copy the above code and run, you can also modify it by adding more designs.</p> <hr></=50:></pre></=>
Producción:
La tortuga se moverá por un tiempo infinito porque hemos usado el bucle while infinito. Copie el código anterior y vea la magia.
Diseño - 2: Círculo vibratorio de Python
Código
import turtle # Creating turtle t = turtle.Turtle() s = turtle.Screen() s.bgcolor('black') t.pencolor('red') a = 0 b = 0 t.speed(0) t.penup() t.goto(0,200) t.pendown() while(True): t.forward(a) t.right(b) a+=3 b+=1 if b == 210: break t.hideturtle() turtle.done()
Producción:
Código
import turtle # Creating turtle t = turtle.Turtle() s = turtle.Screen() s.bgcolor('black') turtle.pensize(2) # To design curve def curve(): for i in range(200): t.right(1) t.forward(1) t. speed(3) t.color('red', 'pink') t.begin_fill() t.left(140) t.forward(111.65) curve() t.left(120) curve() t.forward(111.65) t.end_fill() t.hideturtle() turtle.mainloop()
Producción:
En el código anterior, definimos la función de curva para crear una curva en la pantalla. Cuando tome la forma de corazón completa, el color se llenará automáticamente. Copie el código anterior y ejecútelo, también puede modificarlo agregando más diseños.
=50:>=>