🐢

🐢 Guida Completa al Modulo Turtle di Python

Impara a programmare disegnando! Crea forme, colori e animazioni con la tartaruga più famosa di Python

👩‍🎓 Consiglio per Studenti

Questa guida è pensata appositamente per te che stai imparando a programmare. Vai con calma, prova ogni esempio e non aver paura di sperimentare modificando i codici!

🐢
1. Introduzione al Mondo delle Tartarughe

Il modulo turtle è come un foglio da disegno digitale dove una tartaruga (la freccina) si muove seguendo i tuoi comandi. Immagina di poter dire a una matita:

  • “Vai avanti di 10 passi”
  • “Gira a destra di 90 gradi”
  • “Cambia colore in rosso”

È esattamente quello che faremo con Python!

🎨 Primissimo Esempio: Quadrato Base

Python – Primo Disegno
# Importa il modulo turtle
import turtle

# Crea una tartaruga (la chiameremo 'tina')
tina = turtle.Turtle()
tina.shape("turtle")  # La forma sarà una tartaruga
tina.color("green")   # Colore verde

# Disegna un quadrato
tina.forward(100)     # Avanti di 100 pixel
tina.right(90)        # Gira a destra di 90 gradi
tina.forward(100)
tina.right(90)
tina.forward(100)
tina.right(90)
tina.forward(100)

# Finisce il programma quando clicchi la finestra
turtle.exitonclick()

✨ Prova tu:

Modifica i numeri tra parentesi dopo forward e right e guarda cosa succede! Cosa accade se metti 50 invece di 100? E se al posto di 90 usi 45?

⚙️
2. Preparare il Lavoro

Prima di iniziare a disegnare, prepariamo la nostra “area di lavoro”:

🖼️ Configurazione Base Commentata

Python – Configurazione
import turtle

# Crea la finestra di disegno
finestra = turtle.Screen()
finestra.title("Il Mio Primo Disegno")  # Titolo della finestra
finestra.bgcolor("lightblue")           # Colore sfondo (prova "lightgreen" o "pink")
finestra.setup(width=800, height=600)   # Dimensioni finestra

# Crea la tartaruga
penna = turtle.Turtle()
penna.speed(5)  # Velocità da 1 (lenta) a 10 (veloce), 0 è la più veloce
penna.color("red")  # Colore della penna
penna.pensize(3)    # Spessore della linea

# ESEMPIO: Disegna una linea diagonale
penna.goto(100, 100)  # Va alle coordinate x=100, y=100

# Mantiene aperta la finestra
finestra.mainloop()

🔬 Esperimento:

Prova a cambiare i colori e le dimensioni. Cosa succede se metti penna.speed(1)? E con penna.speed(10)?

🎮
3. Muovere la Tartaruga Passo Passo

Comando Spiegazione Esempio Come Ricordarlo
forward(n) Avanti di n pixel tina.forward(50) “forward” = inglese per “avanti”
backward(n) Indietro di n pixel tina.backward(30) “backward” = “indietro”
right(gradi) Gira a destra di X gradi tina.right(90) “right” = “destra”
left(gradi) Gira a sinistra di X gradi tina.left(45) “left” = “sinistra”

🚗 Esempio: Disegnare una Strada

Python – Strada
import turtle

# Preparazione
strada = turtle.Screen()
strada.bgcolor("gray")
auto = turtle.Turtle()
auto.shape("triangle")  # Forma a triangolo
auto.color("red")
auto.pensize(5)

# Disegna la strada
auto.forward(200)      # Va dritto
auto.left(90)          # Svolta a sinistra
auto.forward(100)
auto.right(45)         # Curva a destra
auto.forward(150)

# Ferma il programma
turtle.done()

✏️
4. Alzare e Abbassare la Penna

Immagina che la tartaruga abbia una penna che può alzare (per muoversi senza disegnare) o abbassare (per disegnare).

✍️ Esempio: Scrivere il Tuo Nome

Python – Lettera M
import turtle

# Configurazione
scrittura = turtle.Screen()
scrittura.bgcolor("white")
penna = turtle.Turtle()
penna.speed(3)
penna.color("blue")
penna.pensize(4)

# Lettera M (iniziamo con la penna giù)
penna.pendown()
penna.left(90)
penna.forward(100)
penna.right(135)
penna.forward(70)
penna.left(90)
penna.forward(70)
penna.right(135)
penna.forward(100)

# Spostiamoci per la prossima lettera (senza disegnare)
penna.penup()
penna.right(90)
penna.forward(50)

# A te: prova a completare il tuo nome!
# Suggerimento: per la A, potresti iniziare con:
penna.pendown()
penna.left(75)
penna.forward(100)
# ...continua tu...

turtle.done()

🎨
5. Giocare con i Colori

Possiamo usare:

  • Nomi di colori in inglese: "red", "blue", "lightgreen"
  • Codici esadecimali: "#FF0000" (rosso), "#00FF00" (verde)
  • Mescolare colori: penna.color("red", "yellow") (bordo rosso, riempimento giallo)

🌈 Esempio: Arcobaleno

Python – Arcobaleno
import turtle

arcobaleno = turtle.Screen()
arcobaleno.bgcolor("lightgray")
pennello = turtle.Turtle()
pennello.speed(8)
pennello.pensize(5)

colori = ["red", "orange", "yellow", "green", "blue", "purple"]

# Disegna semicerchi colorati
for colore in colori:
    pennello.color(colore)
    pennello.circle(100)        # Disegna un cerchio
    pennello.left(60)           # Gira per il prossimo
    
    # Sposta un po' su per il prossimo cerchio
    pennello.penup()
    pennello.forward(20)
    pennello.pendown()

turtle.done()

🔄
6. Ripetere con i Cicli For

Invece di ripetere gli stessi comandi, possiamo usare for per farli ripetere automaticamente!

⬜ Quadrato con Ciclo

Python – Ciclo For
import turtle

t = turtle.Turtle()
t.speed(3)

# Ripeti 4 volte:
for i in range(4):
    t.forward(100)  # Avanti 100 pixel
    t.right(90)     # Gira 90 gradi
    
    # Nota: i comandi ripetuti devono essere indentati (spaziati a destra)
    # con 4 spazi o un tab

turtle.done()

🌸 Fiore con 8 Petali

Python – Fiore
import turtle

fiore = turtle.Screen()
fiore.bgcolor("white")
petali = turtle.Turtle()
petali.speed(8)
petali.color("magenta")

for count in range(8):  # Ripeti 8 volte
    petali.circle(50)   # Disegna un cerchio (petalo)
    petali.left(45)     # Gira di 45 gradi (360/8=45)

turtle.done()

🏗️
7. Progetti Pratici Guidati

🏠 Progetto 1: Casa Semplice

Disegniamo una casa passo dopo passo:

Python – Casa
import turtle

# Preparazione
casa = turtle.Screen()
casa.bgcolor("lightblue")
disegno = turtle.Turtle()
disegno.speed(5)

# 1. Disegna il quadrato base (muro)
disegno.color("brown")
disegno.begin_fill()  # Inizia a riempire
for i in range(4):
    disegno.forward(100)
    disegno.right(90)
disegno.end_fill()    # Finisci di riempire

# 2. Disegna il tetto (triangolo)
disegno.color("red")
disegno.begin_fill()
disegno.left(45)      # Punta in diagonale
disegno.forward(70)   # Lato sinistro tetto
disegno.right(90)     # Gira per il lato destro
disegno.forward(70)   # Lato destro tetto
disegno.end_fill()

# 3. Porta
disegno.penup()
disegno.goto(30, -100)  # Posizione porta
disegno.pendown()
disegno.color("black")
disegno.begin_fill()
for i in range(2):      # Rettangolo alto e stretto
    disegno.forward(40)
    disegno.left(90)
    disegno.forward(60)
    disegno.left(90)
disegno.end_fill()

turtle.done()

💪 Sfida:

Aggiungi una finestra e un camino alla tua casa! Usa penup() e goto(x,y) per posizionarti.

⭐ Progetto 2: Disegna con Liste di Coordinate

Possiamo usare liste per memorizzare coordinate e disegnare forme complesse:

Python – Stella con Liste
import turtle

# Configurazione
schermo = turtle.Screen()
t = turtle.Turtle()
t.speed(5)

# Lista di coordinate per una stella
stella = [
    (0, 100),
    (-30, 40),
    (-90, 40),
    (-40, 0),
    (-60, -60),
    (0, -30),
    (60, -60),
    (40, 0),
    (90, 40),
    (30, 40),
    (0, 100)  # Chiude la stella tornando al punto iniziale
]

# Disegna la stella
t.penup()
t.goto(stella[0])  # Vai al primo punto
t.pendown()

for punto in stella:
    t.goto(punto)  # Disegna linea al punto successivo

turtle.done()

💪 Sfida:

Prova a creare una lista di coordinate per disegnare la tua iniziale!

📋
8. Turtle e Liste per Disegni Complessi

Le liste in Python possono aiutarci a creare disegni più complessi memorizzando:

  • Coordinate per forme irregolari
  • Colori diversi per diverse parti del disegno
  • Sequenze di comandi da ripetere

🎨 Esempio: Disegno con Liste di Colori

Python – Cerchi Colorati
import turtle

# Configurazione
schermo = turtle.Screen()
t = turtle.Turtle()
t.speed(8)

# Lista di colori per un disegno astratto
colori = ["red", "orange", "yellow", "green", "blue", "purple", "pink"]

# Disegna cerchi concentrici colorati
for i in range(len(colori)):
    t.color(colori[i])
    t.circle(20 * (i+1))  # Raggio crescente
    
    # Sposta un po' a destra per il prossimo cerchio
    t.penup()
    t.right(45)
    t.forward(10)
    t.pendown()

turtle.done()

🚀 Esempio Avanzato: Disegno con Liste di Comandi

Python – Lista Comandi
import turtle

# Configurazione
schermo = turtle.Screen()
t = turtle.Turtle()
t.speed(5)

# Lista di comandi: (movimento, angolo)
comandi = [
    ("forward", 100),
    ("right", 90),
    ("forward", 50),
    ("left", 45),
    ("forward", 70),
    ("right", 135),
    ("forward", 100),
    ("left", 90),
    ("forward", 120)
]

# Esegui tutti i comandi nella lista
for azione, valore in comandi:
    if azione == "forward":
        t.forward(valore)
    elif azione == "backward":
        t.backward(valore)
    elif azione == "right":
        t.right(valore)
    elif azione == "left":
        t.left(valore)

turtle.done()

🎯 Progetto Finale:

Crea una lista di comandi per disegnare un animale semplice (un gatto, un cane, un uccello). Usa sia movimenti che cambi di colore!

📚 Consigli Finali per gli Studenti

💡 Come Studiare con Questa Guida

  1. Prova ogni esempio – Non solo leggere, ma scrivi e esegui ogni codice
  2. Modifica i parametri – Cambia numeri e colori per vedere cosa succede
  3. Fai errori – È normale! Leggi i messaggi di errore per capire
  4. Inizia semplice – Prima padroneggia i concetti base, poi passa ai progetti complessi
  5. Divertiti! – Crea disegni che ti piacciono, non solo esercizi

🐢 Buon divertimento con la programmazione creativa! 🎨

Ricorda: ogni programmatore è prima passato da questi primi passi!

📖 Tabella Riepilogativa dei Comandi Turtle

🚀 Movimento

  • forward(n) – Avanti
  • backward(n) – Indietro
  • right(gradi) – Gira destra
  • left(gradi) – Gira sinistra
  • goto(x, y) – Vai a coordinate

✏️ Penna

  • penup() – Alza penna
  • pendown() – Abbassa penna
  • pensize(n) – Spessore linea
  • color("red") – Cambia colore
  • speed(n) – Velocità (1-10)

⭕ Forme

  • circle(raggio) – Cerchio
  • dot(size) – Punto
  • begin_fill() – Inizia riempimento
  • end_fill() – Fine riempimento
  • shape("turtle") – Forma

🖼️ Finestra

  • Screen() – Crea finestra
  • bgcolor("blue") – Sfondo
  • title("Titolo") – Titolo
  • exitonclick() – Chiudi click
  • done() – Mantieni aperto

🎓 Prossimi Passi

🎮 Crea un Gioco

Usa turtle per creare giochi semplici con movimento e interazione

🎨 Arte Generativa

Combina cicli e casualità per creare arte astratta

📊 Grafici e Diagrammi

Usa turtle per visualizzare dati con grafici personalizzati

🌟 Animazioni

Crea animazioni fluide e interattive

🐢 🎨 💻

Buon divertimento con la programmazione creativa!

Ricorda: ogni grande programmatore è iniziato esattamente da qui!

Continua a sperimentare, a creare e a divertirti con Python Turtle! 🚀

Torna in alto