Gràfics simples en Python amb Turtle

Aquesta lliçó explica les instruccions bàsiques que permeten resoldre alguns problemes gràfics de Jutge.org que s’han de codificar amb la llibreria Turtle de Python.

Primers passos amb la tortuga de Python

La llibreria estàndard turtle permet crear dibuixos i gràfics a través d’una tortuga. La tortuga és una animaló virtual que té enganxat un llapis a la seva cua i que obeeix a les instruccions de moviment que se li donen per tal de dibuixar mentre es desplaça.

Al principi, la tortuga es troba al centre de l’àrea de dibuix mirant cap a l’est. Si li diem d’avançar 100 unitats, la tortuga es desplaça 100 unitats cap a l’est, marcant el seu rastre amb seu el llapis. Si li diem ara de girar cap 90 graus a l’esquerra i avançar 100 unitats més, la tortuga extendrà el seu traç tot pintant un angle. Provem-ho!

Per utilitzar la tortuga, cal importar el mòdul turtle:

>>> import turtle

Amb això, no es veu res encara, és normal. Ara, fem avançar la tortuga endavant 100 unitats amb la comanda forward:

>>> turtle.forward(100)

Una finestra amb l’àrea de dibuix apareix i la tortuga pinta un primer segment!

turtle-01

El triangle representa la posició de la tortuga i la seva direcció. Els vells temps de Logo on la tortuga era un simpàtic gràfic de 8 bits ja han caigut en el trist oblít del passat…

Ara li podem dir de girar 90 graus a l’esquerra amb la comanda left:

>>> turtle.left(90)

Podem comprovar que la tortuga ara mira cap al nord:

turtle-02

I ara podem fer avançar la tortuga endavant 100 unitats més:

>>> turtle.forward(100)

turtle-03

Un primer programa

Ara que ja sabem com funciona la tortuga, podem escriure un petit programa per dibuixar un quadrat:

from turtle import *

for i in range(4):
    forward(100)
    right(90)
done()

Les quatre instruccions forward(100) i right(90) efectivament pinten un quadrat. La instrucció done() al final del programa serveix per evitar que la finestra amb l’àrea de dibuix es tanqui inmediatament al acabar el programa.

Més instruccions de moviment de la tortuga

La tortuga es pot moure amb aquestes instruccions:

Proveu cadascuna d’aquestes instruccions pel vostre compte i sigueu creatius per fer alguna forma interessant!

El llapis

La tortuga disposa d’operacions per canviar el seu llapis. Aquestes comandes permeten aixecar o baixar el llapis, de forma que la tortuga es mogui sense deixar rastre:

També es pot canviar el gruix i el color del llapis:

Els colors es poden donar de moltes maneres, la més fàcil és donar un valor de text com ara 'black', 'red, 'blue', …

Més informació

La tortuga ofereix moltes més operacions! Podeu accedir a tota la documentació de la llibreria turtle a https://docs.python.org/3.10/library/turtle.html.

Turtle a Jutge.org

Jutge.org no pot usar la llibreria estàndard turtle per jutjar els enviaments perquè aquesta força un ús interactiu. Per això, Jutge.org substitueix la llibreria estàndard turtle per la llibreria turtle_pil que emula l’original però desa els gràfics en fitxers PNG. La majoria de les operacions de la llibreria estàndard turtle estan suportades per turtle_pil, amb l’excepció de les operacions que tenen a veure amb la gestió interactiva de la finestra, el ratolí o el teclat.

La llibreria turtle_pil no desa el gràfic fins que no es crida a turtle.done(), per tant, no oblideu afegir aquesta comanda al final del vostre programa quan l’envieu a Jutge.org!




Lliçons.jutge.org
Jordi Petit
Universitat Politècnica de Catalunya, 2023

Prohibit copiar. Tots els drets reservats.
No copy allowed. All rights reserved.