📚 Indice dei Contenuti
👩🎓 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
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
# 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
🖼️ Configurazione Base Commentata
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
🚗 Esempio: Disegnare una 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
✍️ Esempio: Scrivere il Tuo Nome
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
- 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
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
for per farli ripetere automaticamente!
⬜ Quadrato con Ciclo
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
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:
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:
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
- Coordinate per forme irregolari
- Colori diversi per diverse parti del disegno
- Sequenze di comandi da ripetere
🎨 Esempio: Disegno con Liste di Colori
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
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
- Prova ogni esempio – Non solo leggere, ma scrivi e esegui ogni codice
- Modifica i parametri – Cambia numeri e colori per vedere cosa succede
- Fai errori – È normale! Leggi i messaggi di errore per capire
- Inizia semplice – Prima padroneggia i concetti base, poi passa ai progetti complessi
- 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)– Avantibackward(n)– Indietroright(gradi)– Gira destraleft(gradi)– Gira sinistragoto(x, y)– Vai a coordinate
✏️ Penna
penup()– Alza pennapendown()– Abbassa pennapensize(n)– Spessore lineacolor("red")– Cambia colorespeed(n)– Velocità (1-10)
⭕ Forme
circle(raggio)– Cerchiodot(size)– Puntobegin_fill()– Inizia riempimentoend_fill()– Fine riempimentoshape("turtle")– Forma
🖼️ Finestra
Screen()– Crea finestrabgcolor("blue")– Sfondotitle("Titolo")– Titoloexitonclick()– Chiudi clickdone()– 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! 🚀