Semplificare i programmi in Python: il caso dei triangoli con Turtle
Quando si insegna a programmare, soprattutto nelle prime fasi, è normale che gli studenti scrivano codice ripetitivo. Questo non è un errore: è spesso il punto di partenza naturale per comprendere come e perché il linguaggio offre strumenti di semplificazione.
Vediamo un esempio concreto usando Python e la libreria Turtle: disegnare tre triangoli equilateri con lato 200, 300 e 250, con il vertice sinistro in comune.
Supponiamo di voler disegnare con il “Turtle” 3 triangoli equilateri. Come procediamo? Proviamo a scrivere il programma per 1 solo triangolo, avremo:


è possibile scrivere queste istruzioni utilizzando l’istruzione di import:
from turtle import *
che semplifica così le cose:

from turtle import * serve a importare tutti i comandi della libreria turtle, così puoi usarli direttamente, senza prefissi. Invece import turtle costringeva sempre a premettere turtle ad ogni comando.
Passiamo adesso a disegnare tre triangoli di raggio 200,300 e 250 tutti con il vertice sinistro in comune.
1. Scrivere tre volte lo stesso blocco for
La soluzione più immediata, tipica di uno studente alle prime armi, consiste nel ripetere tre volte lo stesso ciclo, cambiando solo il valore del lato.

Questa soluzione:
-
è corretta
-
è facile da capire
-
ma presenta ripetizioni inutili
👉 Qui nasce l’esigenza di semplificare.
2. Definire una funzione triangolo(lato)
Il primo vero passo verso un codice più pulito è l’uso delle funzioni.
Se un’operazione si ripete, conviene incapsularla.

Vantaggi:
-
niente duplicazioni di codice
-
il programma è più leggibile
-
il concetto di riuso diventa chiaro
Didatticamente, questo è già un salto di qualità importante.
3. Usare una lista per gestire più valori
A questo punto possiamo fare un passo in più: invece di richiamare manualmente la funzione tre volte, memorizziamo i lati in una lista. Nel programma seguente, per il ciclo FOR, si è creata una lista di 3 misure per il lato e per 3 volte si è richiamata la funzione triangolo.

oppure si può dare un nome alla lista e poi la si usa nel FOR

4. Usare le forme abbreviate dei comandi Turtle
Infine, TURTLe mette a disposizione delle forme abbreviate, per accorciare ulteriormente il codice, per i metodi principali :
| Comando completo | Abbreviazione |
|---|---|
| forward | fd |
| left | lt |
| penup | pu |
| pendown | pd |
Il programma così diventa:

Questa versione:
-
è più compatta
-
riduce gli errori di battitura
-
resta perfettamente leggibile (se spiegata)
Conclusione
Questo esempio mostra bene che semplificare un programma non significa renderlo più difficile, ma:
-
eliminare ripetizioni
-
rendere il codice più chiaro
-
usare meglio gli strumenti del linguaggio