Skip to content

Grafica con Turtle

Turtle è il modo più semplice e divertente per vedere i risultati del tuo codice in modo visivo. Invece di stampare numeri sul terminale, disegni figure sullo schermo — e puoi vedere ogni riga del tuo programma “prendere vita”.

È anche un ottimo strumento per capire come funzionano i cicli e la geometria.


Turtle è una libreria già inclusa in Python — non devi installare nulla. Ti permette di controllare una “tartaruga” virtuale su uno schermo. La tartaruga ha una penna sotto il guscio: quando si muove, lascia una traccia. Tu dai i comandi e la tartaruga disegna.

L’idea viene dal linguaggio Logo degli anni ‘60, usato proprio per insegnare la programmazione ai bambini.


import turtle
t = turtle.Turtle() # Crea la tartaruga
t.forward(100) # Avanza di 100 pixel
t.right(90) # Gira a destra di 90°
t.forward(100) # Avanza ancora
turtle.done() # Mantieni la finestra aperta

import turtle
t = turtle.Turtle()
t.forward(100) # Avanza di 100 pixel (abbreviazione: t.fd(100))
t.backward(50) # Arretra di 50 pixel (abbreviazione: t.bk(50))
t.right(90) # Gira a destra di 90° (abbreviazione: t.rt(90))
t.left(90) # Gira a sinistra di 90° (abbreviazione: t.lt(90))
t.goto(100, 50) # Vai alle coordinate (x, y) — l'origine è al centro
t.home() # Torna all'origine (0, 0) e guarda a destra

t.penup() # Alza la penna: la tartaruga si muove senza disegnare
t.pendown() # Abbassa la penna: torna a disegnare

Utile per “saltare” in un altro punto senza lasciare tracce.


t.pensize(3) # Spessore della linea (in pixel)
t.pencolor("red") # Colore della linea
t.fillcolor("yellow") # Colore di riempimento (usato con begin_fill / end_fill)
t.speed(5) # Velocità: 1=lenta, 10=veloce, 0=massima (instantanea)

import turtle
t = turtle.Turtle()
# Un quadrato ha 4 lati uguali e 4 angoli di 90°
for _ in range(4):
t.forward(100) # Disegna un lato
t.right(90) # Gira di 90°
turtle.done()
import turtle
t = turtle.Turtle()
# Un triangolo equilatero ha 3 lati e angoli esterni di 120°
for _ in range(3):
t.forward(100)
t.left(120)
turtle.done()
import turtle
t = turtle.Turtle()
t.circle(50) # Disegna un cerchio con raggio 50 pixel
turtle.done()
import turtle
t = turtle.Turtle()
t.speed(0)
# Per una stella a 5 punte l'angolo esterno è 144°
for _ in range(5):
t.forward(100)
t.right(144)
turtle.done()

import turtle
t = turtle.Turtle()
t.fillcolor("blue") # Scegli il colore di riempimento
t.begin_fill() # Da qui inizia il riempimento
for _ in range(4): # Disegna il quadrato
t.forward(100)
t.right(90)
t.end_fill() # Riempi la figura chiusa
turtle.done()

import turtle
schermo = turtle.Screen()
schermo.title("Il mio disegno") # Titolo della finestra
schermo.bgcolor("black") # Colore dello sfondo
schermo.setup(width=800, height=600) # Dimensioni in pixel
t = turtle.Turtle()
t.pencolor("white") # Disegna in bianco su sfondo nero
t.forward(200)
turtle.done()

Combina un ciclo, colori e geometria per creare qualcosa di bello:

import turtle
t = turtle.Turtle()
t.speed(0) # Velocità massima
colori = ["red", "orange", "yellow", "green", "blue", "purple"]
for i in range(100):
t.pencolor(colori[i % len(colori)]) # Cambia colore ciclicamente
t.forward(i * 2) # Ogni volta avanza un po' di più
t.right(91) # 91° invece di 90° crea la spirale
turtle.done()

Prova a modificare l’angolo (91°) o il numero di passi (100) per ottenere effetti diversi.