Ciao a tutti,
oggi sembrerebbe una ricetta, ma il nostro programma realizzerà dei pentagoni ripieni che non si possono mangiare. Non ancora, per le ricette, temo di dover passare il testimone ad altri scrittori che avranno sicuramente molta più competenza e capacità di me. Io con la cucina sono negata e la odio. Ad ogni modo oggi vediamo di realizzare qualcosa di simile a questo:
Andiamo ad analizzare come al solito il programma che deve essere scritto.
Iniziamo ad analizzare la prima parte del programma:
Importiamo per prima cosa il modulo tartaruga e il modulo random, in modo tale in seguito di poter disegnare con una tartaruga come cursore e di poter usare colori random per disegnare e colorare i nostri pentagoni. Diamo il comando shape(turtle), in modo da definire il puntatore come una tartaruga. Affidiamo la velocità come speed(0) in modo tale da rendere la nostra tartaruga velocissima.
✅ NOTA BENE: nel video che vedrete dopo la velocità sarà molto moderata, per far vedere cosa crea la tartaruga. Ho impostato speed(1).
Affidiamo alla variabile passo1 il valore 5 dopo di che riposizioniamo 🐾🐾 il cursore tartaruga dove vogliamo. Per il riposizionamento usiamo i seguenti comandi:
► penup() il comando serve per sollevare la nostra penna dal tavolo da disegno. In questo modo il riposizionamento non lascerà traccia sul nostro tavolo da disegno cioè lo schermo.
►setpotition(100,150) il comando serve per riposizionare il nostro cursore ad una data ascissa e ordinata. Nel caso specifico nell'ascissa 100 e ordinata 150.
► pendonw() con questo comando abbasso la penna e posso riprendere a disegnare. Da questo momento in poi tutto quello che disegno lascerà una traccia sullo schermo.
Iniziamo con la definizione della funzione pentquadrat. Questa funzione dipende dal parametro passo, che abbiamo già definito in precedenza. Impostiamo i tre colori principali del comando color(rosso, verde, blu) come random. Così facendo garantiamo poi che il nostro pentagono venga disegnato e poi colorato con colori random.
Per semplicità potremo scrivere al posto dell'elenco dei colori affidati al valori random semplicemente il seguente comando: color(random(), random(), random()).
Iniziamo con begin_fill() a disegnare il nostro pentagono che verrà creato grazie ad un ciclo for:
✅ con il comando forward(passo) avanziamo di un valore pari a passo;
✅ giriamo verso destra, con right(360/50), di un angolo appunto definito come 360° diviso 5
Ripetiamo l'operazione 5 volte visto che il ciclo for è così definito: for i in range(5):
Dopo di questo coloriamo il nostro pentagono completamente con end_fill(). Proseguiamo poi con l'analisi del nostro programma:
Definiamo la funzione Schlacht dipendente dal valore passo. Schlacht in tedesco vuol dire battaglia, perché la nostra tartaruga è un Ninja! Dentro la nostra funzione disegniamo il pentagono con il comando: pentquadrat(passo). Dopo di che alziamo la nostra penna con cui disegniamo con il comando penup() e ci spostiamo con i comandi:
❌ forward(passo1): avanziamo di un valore pari a passo1;
❌ right(90): giriamo di 90° a destra;
❌ forward(passo1): avanziamo di un valore pari a passo1;
❌ left(90): giriamo di 90° a sinistra.
Abbassiamo poi la penna con il comando pendown().
Quest'ultima parte per me è stata quella più concettualmente complicata da capire: si tratta di un ciclo if.
Con ** if passo-20>20:** è un po' come se ci chiedessimo: Contiene il pentagono appena disegnato un altro pentagono?
Il valore di passo verrà definito poi alla fine e dico: se al valore di passo a cui sono sottratti 20 pixel resta ancora un valore maggiore a 20 pixel, allora disegnerò un pentagono dentro al mio pentagono.
Se il nostro pentagono ne contiene un altro disegniamo un pentagono all'interno del primo pari a Schlacht(passo-20), questo pentagono per stare dentro al primo deve essere più piccolo, ecco perché sono stati sottratti a passo 20 pixel.
Se invece le condizioni iniziali non sono rispettate ovvero se:passo-20<20 oppure passo-20=20, allora il nostro pentagono non ne conterrà un altro e disegneremo semplicemente l'ultimo pentagono.
Se non contiene un altro pentagono disegniamo un pentagono con:
else:
pentquadrat(passo-20)
Dopo di che il ciclo si fermerà e dovrò definire solo il valore di Schlacht(passo) e nascondere la tartaruga con il comando:hideturtle().Per quel che riguarda Schlacht avrà un valore iniziale di passo pari a 300 pixel perché abbiamo scritto: Schlacht(300).
Per chiarire meglio il funzionamento del programma ho pensato di realizzare il seguente video:
Spero che questo programma vi sia stato utile e vi rimando al prossimo appuntamento.
Alessandra.
PUNTATE DI PYTHON:
➤ Il Python e le tartarughe.
➤ Python e le bandiere.
➤ 🍀🍀 Triangoli e quadrifogli con Python.🍀🍀
➤ I cerchi con Python.
➤ I fiori con Python.
➤ Modelliamo un mondo astratto con Python.
➤ Compito risolto di Python.
➤ Sole, luna, stelle: alla conquista dell'universo!!!
Dove non diversamente indicato le foto sono di mia proprietà