At My Fingertips
Lo scopo di questo esercizio è costruire e visualizzare la bandiera dell'Italia.
Analizziamo insieme le istruzioni contenute in questo programma. La prima istruzione che segue il commento iniziale è una delle varianti dell'import statement. Questo rende "visibili" i nomi accanto, rettangolo e visualizza_grafica, che sono nomi associati a tre funzioni contenute nel modulo pytamaro.it
(la nostra libreria).
Le righe successive dovrebbero esserti familiari: definiscono la prima la larghezza in pixel della bandiera che vogliamo andare a creare (600 pixel, in questo esempio), la seconda l'altezza in pixel della bandiera (calcolata a partire dalla larghezza usando il rapporto ufficiale di 2:3).
La terza riga, invece, definisce una lista di elementi chiamata COLORI
: una lista viene definita elencando tra parentesi quadre una serie di elementi separati da virgole.
La nostra lista, dunque, contiene tre stringhe che rappresentano i colori ufficiali della bandiera italiana (tonalità di verde, bianco e rosso), che vengono trasformate in colori tramite la funzione colore_rgb di PyTamaro. Se vuoi approfondire la rappresentazione dei colori, questa è una delle tante risorse utili.
Ora, dunque, abbiamo una lista di colori e vogliamo creare un rettangolo che corrisponda a ciascun colore. Come fare? Possiamo accedere a ciascuno degli elementi di una lista chiamando il nome della lista seguito da parentesi quadre nelle quali è contenuto l'indice dell'elemento che ci interessa, cioè il numero che corrisponde alla posizione che esso occupa all'interno della lista, cominciando a contare da 0. Nel nostro caso, quindi, COLORI[0]
corrisponderà a colore_rgb(0, 140, 69)
, COLORI[1]
a colore_rgb(244, 245, 240)
e COLORI[2]
a colore_rgb(205, 33, 42)
.
L'istruzione successiva chiama una funzione della nostra libreria. La funzione viene chiamata con i seguenti argomenti: rettangolo(200, 400, colore_rgb(0, 140, 69))
e ritorna un'immagine contenente un rettangolo riempito della tonalità richiesta di verde di dimensione 200x400 pixel. Salviamo l'immagine nella variabile rett_verde
. Infine, chiamando la funzione visualizza_grafica e passando come argomento l'immagine appena costruita, possiamo visualizzarla a schermo.
Eseguendo questo codice a questo punto dovresti visualizzare il rettangolo verde.
Completa la costruzione della bandiera!
Suggerimento: ti basteranno solo le funzioni che abbiamo importato all'inizio: rettangolo, accanto e visualizza_grafica. Per sapere come funziona accanto
, leggi la documentazione relativa a quella funzione.
Per disegnare i tre rettangoli, hai scritto quasi lo stesso codice tre volte sopra. C'è un modo per evitare questa duplicazione del codice?
È possibile usare un ciclo for
per scorrere una lista di elementi eseguendo su ciascun elemento un blocco di istruzioni.
Analizziamo il nostro codice: dapprima viene impostata una grafica vuota, che chiamiamo bandiera
e che servirà come punto di partenza per l'immagine che vogliamo generare.
Successivamente si entra nel ciclo, che viene eseguito scorrendo la lista COLORI
: la prima volta verrà attribuito alla variabile colore
il valore che si trova nella posizione 0 della lista, vale a dire, nel nostro caso, colore_rgb(0, 140, 69)
. Il blocco di istruzioni all'interno del ciclo viene quindi eseguito per intero generando un rettangolo del colore in questione; tale rettangolo viene affiancato alla bandiera
già esistente (che la prima volta è, come si è detto, una grafica vuota). La grafica così generata prende a sua volta il nome di bandiera
, sostituendo quella precedente.
A questo punto si ritorna all'inizio del ciclo: il nome colore
viene ora attribuito al valore che si trova nella posizione 1 della lista, vale a dire colore_rgb(244, 245, 240)
: viene quindi eseguito nuovamente il blocco di istruzioni, generando un rettangolo con il nuovo colore, che viene unito al precedente.
Il ciclo prosegue in questo modo fino a giungere alla fine della lista. In questo modo evitiamo di dover riscrivere più volte lo stesso codice, minimizzando il rischio di commettere errori e permettendoci di generare facilmente una bandiera composta da un numero indeterminato di colori (basta aggiungere alla lista tutti i colori dai quali vogliamo che la bandiera sia composta, senza che ci sia bisogno di modificare ulteriormente il codice).
This activity has been created by Lardelli and is licensed under CC BY-SA 4.0.
It is derived from this activity.
Bandiera dell'Italia
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version c3a8286 (Mon, 14 Oct 2024 13:30:28 GMT)