Turtle és una biblioteca de Python que solia crear gràfics, imatges i jocs. Va ser desenvolupat per Wally Feurzeig, Seymour Parpet i Cynthina Slolomon el 1967. Formava part del llenguatge de programació Logo original.
El llenguatge de programació Logo va ser popular entre els nens perquè ens permet dibuixar gràfics atractius a la pantalla d'una manera senzilla. És com un petit objecte a la pantalla, que es pot moure segons la posició desitjada. De la mateixa manera, la biblioteca de tortugues inclou la funció interactiva que ofereix la flexibilitat de treballar amb Python.
En aquest tutorial, aprendrem els conceptes bàsics de la biblioteca de tortugues, com configurar la tortuga en un ordinador, programar amb la biblioteca de tortugues Python, algunes ordres importants de tortugues i desenvolupar un disseny curt però atractiu amb la biblioteca de tortugues Python.
Introducció
Turtle és una biblioteca preinstal·lada a Python que és semblant al llenç virtual on podem dibuixar imatges i formes atractives. Proporciona el llapis en pantalla que podem utilitzar per dibuixar.
El tortuga La biblioteca està dissenyada principalment per introduir els nens al món de la programació. Amb l'ajuda de la biblioteca de Turtle, els nous programadors poden fer-se una idea de com podem programar Python d'una manera divertida i interactiva.
És beneficiós per als nens i per al programador experimentat perquè permet dissenyar formes úniques, imatges atractives i jocs diversos. També podem dissenyar els mini jocs i l'animació. A la propera secció, aprendrem a diverses funcionalitats de la biblioteca de tortugues.
Començar amb la tortuga
Abans de treballar amb la biblioteca de tortugues, ens hem d'assegurar les dues coses més essencials per fer la programació.
La tortuga està integrada a la biblioteca, de manera que no cal instal·lar-la per separat. Només hem d'importar la biblioteca al nostre entorn Python.
La biblioteca de tortugues Python consta de tots els mètodes i funcions importants que necessitarem per crear els nostres dissenys i imatges. Importeu la biblioteca de tortugues mitjançant l'ordre següent.
import turtle
Ara, podem accedir a tots els mètodes i funcions. En primer lloc, hem de crear una finestra dedicada on executem cada ordre de dibuix. Ho podem fer inicialitzant una variable.
s = turtle.getscreen()
Semblarà una imatge de dalt i el petit triangle al mig de la pantalla és una tortuga. Si la pantalla no apareix al vostre sistema informàtic, utilitzeu el codi següent.
Exemple -
import turtle # Creating turtle screen s = turtle.getscreen() # To stop the screen to display turtle.mainloop()
Sortida:
La pantalla igual que la tela i la tortuga actua com un bolígraf. Podeu moure la tortuga per dissenyar la forma desitjada. La tortuga té certes característiques canviants com ara el color, la velocitat i la mida. Es pot moure a una direcció específica i moure's en aquesta direcció tret que li diem el contrari.
A la següent secció, aprendrem a programar amb la biblioteca de tortugues Python.
Programació amb tortuga
En primer lloc, hem d'aprendre a moure la tortuga en totes direccions com vulguem. Podem personalitzar el bolígraf com la tortuga i el seu entorn. Aprenem el parell d'ordres per realitzar algunes tasques específiques.
La tortuga es pot moure en quatre direccions.
- Endavant
- Enrere
- Esquerra
- Dret
Moviment de tortuga
La tortuga pot moure's cap endavant i cap enrere en la direcció que mira. Vegem les següents funcions.
java booleà a cadena
Exemple - 3:
import turtle # Creating turtle screen t = turtle.Turtle() # To stop the screen to display t.forward(100) turtle.mainloop()
Sortida:
Exemple - 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()
Sortida:
Exemple - 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()
Sortida:
Exemple -
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()
Sortida:
La pantalla es divideix inicialment en quatre quadrants. La tortuga es posiciona al principi del programa és (0,0) conegut com a a casa.
Exemple -
import turtle # Creating turtle screen t = turtle.Turtle() # Move turtle with coordinates t.goto(100, 80) # To stop the screen to display turtle.mainloop()
Sortida:
Dibuixant una forma
Vam parlar del moviment de la tortuga. Ara, aprenem a passar a fer la forma real. Primer dibuixem el polígon ja que tots consisteixen en rectes connectades en determinats angles. Entenem l'exemple següent.
Exemple -
t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100)
Es veurà com la següent imatge.
Sortida:
Podem dibuixar qualsevol forma amb la tortuga, com ara un rectangle, un triangle, un quadrat i molts més. Però, hem de tenir cura de les coordenades mentre dibuixem el rectangle perquè els quatre costats no són iguals. Un cop dibuixem el rectangle, fins i tot podem provar de crear altres polígons augmentant el nombre de costats.
Dibuix de figures predeterminades
Suposem que voleu dibuixar a cercle . Si intenteu dibuixar-lo de la mateixa manera que vau dibuixar el quadrat, seria extremadament tediós i haureu de dedicar molt de temps només a aquesta forma. Afortunadament, la biblioteca de tortugues Python ofereix una solució per a això. Podeu utilitzar una sola ordre per dibuixar un cercle.
El cercle es dibuixa amb el radi donat. L'extensió determina quina part del cercle es dibuixa i si no es proporciona l'extensió o cap, dibuixa tot el cercle. Entenem l'exemple següent.
Exemple -
import turtle # Creating turtle screen t = turtle.Turtle() t.circle(50) turtle.mainloop()
Sortida:
També podem dibuixar un punt, que també es coneix com a cercle omplert. Seguiu el mètode indicat per dibuixar un cercle omplert.
Exemple -
import turtle # Creating turtle screen t = turtle.Turtle() t.dot(50) turtle.mainloop()
Sortida:
El número que hem passat al punt () la funció és el diàmetre del punt. Podem augmentar i disminuir la mida del punt canviant-ne el diàmetre.
Fins ara, hem après el moviment de la tortuga i el disseny de les diferents formes. En els propers apartats, aprendrem la personalització de la tortuga i el seu entorn.
Canviar el color de la pantalla
Per defecte, la pantalla de la tortuga s'obre amb el fons blanc. Tanmateix, podem modificar el color de fons de la pantalla mitjançant la següent funció.
Exemple -
import turtle # Creating turtle screen t = turtle.Turtle() turtle.bgcolor('red') turtle.mainloop()
Sortida:
Hem passat un color vermell. També podem substituir-lo per qualsevol color o podem utilitzar el codi hexadecimal per utilitzar una varietat de codi per a la nostra pantalla.
Afegint imatge al fons
Igual que el color de fons de la pantalla, podem afegir la imatge de fons mitjançant la funció següent.
Exemple -
import turtle # Creating turtle turtle t = turtle.Turtle() turtle.bgpic() turtle.bgpic(r'C:UsersDEVANSH SHARMADownloadsperson.webp') turtle.bgpic() turtle.mainloop()
Canviar la mida de la imatge
Podem canviar la mida de la imatge utilitzant el mida de la pantalla() funció. La sintaxi es mostra a continuació.
Sintaxi -
turtle.screensize(canvwidth = None, canvheight = None, bg = None)
Paràmetre - Es necessita tres paràmetres.
Entenem l'exemple següent.
Exemple -
import turtle # Creating turtle turtle t = turtle.Turtle() turtle.screensize() turtle.screensize(1500,1000) turtle.screensize() turtle.mainloop()
Sortida:
Canviar el títol de la pantalla
De vegades, volem canviar el títol de la pantalla. Per defecte, mostra el Tutorial de gràfics de Python . Podem fer-ho personal com ara 'El meu primer programa de tortugues' o 'Dibuixant forma amb Python' . Podem canviar el títol de la pantalla mitjançant la següent funció.
turtle.Title('Your Title')
Vegem l'exemple.
Exemple -
import turtle # Creating turtle t = turtle.Turtle() turtle.title('My Turtle Program') turtle.mainloop()
Sortida:
Podeu canviar el títol de la pantalla segons les vostres preferències.
Canviar la mida del bolígraf
Podem augmentar o disminuir la mida de la tortuga segons el requeriment. De vegades, necessitem gruix a la ploma. Ho podem fer amb l'exemple següent.
Exemple -
import turtle # Creating turtle turtle t = turtle.Turtle() t.pensize(4) t.forward(200) turtle.mainloop()
Sortida:
Com podem veure a la imatge de dalt, el bolígraf és quatre vegades la mida original. Podem utilitzar-lo dibuixar línies de diferents mides.
Control del color del bolígraf
Per defecte, quan obrim una nova pantalla, la tortuga apareix amb el color negre i dibuixa amb tinta negra. Ho podem canviar segons les dues coses.
- Podem canviar el color de la tortuga, que és un color de farciment.
- Podem canviar el color del bolígraf, que bàsicament és un canvi del contorn o del color de la tinta.
També podem canviar tant el color del llapis com el de la tortuga si ho volem. Suggerim augmentar la mida de la tortuga que els canvis de color es poden veure clarament. Entenem el codi següent.
Exemple -
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()
Sortida:
Escriviu la funció següent per canviar el color de tots dos.
Exemple - 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()
Sortida:
Explicació:
Al codi anterior, el primer color és un color de ploma i el segon és un color de farciment.
Tortuga ompliu la imatge
Els colors fan que una imatge o formes siguin molt atractives. Podem omplir formes amb diversos colors. Entenem l'exemple següent per afegir color als dibuixos. Entenem l'exemple següent.
Exemple -
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()
Sortida:
Explicació:
Quan el programa s'executa, dibuixa primer el triangle i després l'omple amb el color negre sòlid com a resultat anterior. Hem utilitzat el begin_fill() mètode que indica que dibuixarem una forma tancada per omplir. Després, fem servir el .end_fill(), que indica que hem acabat amb la forma de creació. Ara, es pot omplir de color.
Canviar la forma de la tortuga
Per defecte, la forma de la tortuga és triangular. Tanmateix, podem canviar la forma de la tortuga i aquest mòdul proporciona moltes formes per a la tortuga. Entenem l'exemple següent.
Exemple -
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()
Sortida:
Podem canviar la forma de la tortuga segons el requisit. Aquestes formes poden ser un quadrat, un triangle, un clàssic, una tortuga, una fletxa i un cercle. El clàssic és la forma original de la tortuga.
Canviar la velocitat del llapis
La velocitat de la tortuga es pot canviar. Generalment, es mou a una velocitat moderada per la pantalla, però podem augmentar i disminuir la seva velocitat. A continuació es mostra el mètode per modificar la velocitat de la tortuga.
Exemple -
import turtle # Creating turtle t = turtle.Turtle() t.speed(3) t.forward(100) t.speed(7) t.forward(100) turtle.mainloop()
Sortida:
La velocitat de la tortuga pot variar valors enters en el rang 0...10. No es passa cap argument al velocitat () funció, retorna la velocitat actual. Les cadenes de velocitat s'assignen als valors de velocitat de la manera següent.
0 | El més ràpid |
10 | Ràpid |
6 | Normal |
3 | Lent |
1 | El més lent |
Nota: si la velocitat s'assigna a zero significa que no es farà cap animació.
turtle.speed() turtle.speed('normal') turtle.speed() turtle.speed(9) turtle.speed()
Personalització en una línia
Suposem que volem múltiples canvis dins de la tortuga; ho podem fer utilitzant només una línia. A continuació es mostren algunes característiques de la tortuga.
- El color de la ploma ha de ser vermell.
- El color de farciment ha de ser taronja.
- La mida del bolígraf ha de ser 10.
- La velocitat del llapis ha de ser de 7
- El color de fons ha de ser blau.
Vegem el següent exemple.
Exemple -
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()
Sortida:
Vam utilitzar només una línia i vam canviar les característiques de la tortuga. Per obtenir informació sobre aquesta ordre, podeu aprendre des de l' documentació oficial de la biblioteca .
Canvia la direcció del llapis
Per defecte, la tortuga apunta cap a la dreta de la pantalla. De vegades, necessitem moure la tortuga a l'altre costat de la pantalla. Per aconseguir-ho, podem utilitzar el penup() mètode. El pendown() La funció s'utilitza per començar a dibuixar de nou. Considereu l'exemple següent.
Exemple -
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()
Sortida:
Com podem veure a la sortida anterior, hem obtingut dues línies paral·leles en lloc d'un quadrat.
Esborrant la pantalla
Hem tractat la majoria dels conceptes de disseny de la tortuga. De vegades, necessitem una pantalla clara per dibuixar més dissenys. Ho podem fer amb la següent funció.
t.clear()
El mètode anterior esborrarà la pantalla perquè puguem dibuixar més dissenys. Aquesta funció només elimina els dissenys existents o les formes no fa cap canvi en la variable. La tortuga romandrà a la mateixa posició.
Reinicialització de l'entorn
També podem restablir el funcionament actual mitjançant la funció de reinici. Restaura el la torreta configura i esborra la pantalla. Només hem d'utilitzar la següent funció.
t.reset
S'eliminaran totes les tasques i la tortuga tornarà a la seva posició inicial. Es restaurarà la configuració predeterminada de la tortuga, com ara el color, la mida i la forma i altres característiques.
Hem après els fonaments bàsics de la programació de tortugues. Ara, parlarem d'alguns conceptes essencials i avançats de la biblioteca de tortugues.
Deixant un segell
Podem deixar el segell de tortuga a la pantalla. El segell no és més que una empremta de la tortuga. Entenem l'exemple següent.
Exemple -
import turtle # Creating turtle t = turtle.Turtle() t.stamp() t.fd(200) t.stamp() t.fd(100) turtle.mainloop()
Sortida:
marquesina html
Si imprimim el segell () mètode, mostrarà un número que no és més que la ubicació d'una tortuga o l'identificador del segell. També podem eliminar un segell concret mitjançant l'ordre següent.
t.clearstamp(8) # 8 is a stamp location.
Clonació d'una tortuga
De vegades, busquem la tortuga múltiple per dissenyar una forma única. Proporciona la possibilitat de clonar la tortuga actual que treballa a l'entorn i podem moure les dues tortugues a la pantalla. Entenem l'exemple següent.
Exemple -
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()
Sortida:
Explicació:
Al codi anterior, vam clonar la tortuga a la variable c i vam cridar la funció de cercle. Primer, dibuixa el cercle blau i després dibuixa els cercles exteriors en funció de les condicions del bucle for.
A la següent secció, parlarem de com podem utilitzar les declaracions condicionals i de bucle de Python per crear disseny amb la tortuga.
Programació de tortugues utilitzant bucles i declaracions condicionals
Hem après els conceptes bàsics i avançats de la biblioteca de tortugues fins ara. El següent pas és explorar aquests conceptes amb els bucles i declaracions condicionals de Python. Ens donarà un enfocament pràctic a l'hora d'entendre aquests conceptes. Abans d'avançar, hauríem de recordar els conceptes següents.
Entenem els exemples següents.
per a bucles
A l'exemple anterior, vam escriure diverses línies repetides al nostre codi. Aquí, implementarem la creació d'un programa quadrat mitjançant el bucle for. Per exemple -
Exemple:
t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100) t.rt(90)
Podem fer-ho més curt utilitzant un bucle for. Executeu el codi següent.
Exemple
import turtle # Creating turtle t = turtle.Turtle() for i in range(4): t.fd(100) t.rt(90) turtle.mainloop()
Sortida:
Explicació
En el codi anterior, el bucle for va repetir el codi fins a arribar al comptador 4. La i és com un comptador que comença des de zero i va augmentant en un. Entenem pas a pas l'execució del bucle anterior.
- En la primera iteració, i = 0, la tortuga avança 100 unitats i després gira 90 graus cap a la dreta.
- A la segona iteració, i = 1, la tortuga avança 100 unitats i després gira 90 graus cap a la dreta.
- A la tercera iteració, i = 2, la tortuga avança 100 unitats i després gira 90 graus cap a la dreta.
- A la tercera iteració, i = 3, la tortuga avança 100 unitats i després gira 90 graus cap a la dreta.
Després de completar la iteració, la tortuga saltarà fora del bucle.
bucles while
S'utilitza per executar un bloc de codi fins que es compleix una condició. El codi s'acabarà quan trobi una condició falsa. Entenem l'exemple següent.
Exemple -
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></=>
Sortida:
La tortuga es mourà durant un temps infinit perquè hem utilitzat el bucle while infinit. Copia el codi anterior i veu la màgia.
Disseny - 2: Python Vibrate Circle
Codi
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()
Sortida:
Codi
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()
Sortida:
Al codi anterior, definim la funció de corba per crear corba a pantalla. Quan prengui la forma completa del cor, el color s'omplirà automàticament. Copieu el codi anterior i executeu-lo, també podeu modificar-lo afegint més dissenys.
=50:>=>