At My Fingertips
Rapid Playground
Implementiamo una funzione che trasforma una lista di numeri in un diagramma a barre.
Alla fine, dovresti riuscire a chiamarlo in questo modo:
diagramma_barre([0.5, 1.0, 0.9, 1.0, 1.5, 0.1], 200, 100)
Un diagramma a barre è formato da barre piazzate una accanto all'altra. Per determinare l'altezza di una barra, dobbiamo tenere in considerazione:
altezza_diagramma
);valore
);valore_massimo
), che sarà rappresentato dalla barra più alta, la quale occuperà tutta l' altezza_diagramma
.Calcola l' altezza_barra
, poi costruisci un rettangolo con le dimensioni necessarie e di colore rosso.
Vogliamo lasciare uno spazio tra una barra e l'altra. Per costruire uno spazio di una larghezza specifica, possiamo creare un rettangolo con altezza 0. Anche se dobbiamo specificare il colore del rettangolo, il colore che sceglieremo non ha reale importanza, perché il rettangolo ha altezza 0 e, di conseguenza, è invisibile.
Possiamo "mostrare" lo spazio creando due barre di larghezza 60 separate da uno spazio di larghezza 10.
Vedi come sono separate? Quello è il nostro spazio!
Inoltre, hai notato che sono centrate verticalmente? Non vogliamo che il nostro diagramma abbia questo aspetto: vogliamo che tutte le barre siano allineate sul fondo. Quindi non utilizzeremo la funzione accanto per combinarle.
Ora che abbiamo le funzioni barra
e spazio
siamo pronti a creare un diagramma a barre completo.
La nostra funzione diagramma_barre
riceve come parametri una lista di valori e le dimensioni complessive (larghezza
e altezza
) del grafico.
Date queste informazioni, calcola:
valore_massimo
- il valore massimo tra quelli presenti nella listanumero_barre
- il numero delle barrenumero_spazi
- il numero di spazi tra una barra e l'altralarghezza_barra
- la larghezza di una singola barra (dati larghezza
, numero_barre
, numero_spazi
e frazione_larghezza_spazio
)larghezza_spazio
- dati larghezza_barra
e frazione_larghezza_spazio
Date tutte queste informazioni, implementa un ciclo che utilizza barra
, spazio
, grafica_vuota, componi e fissa per combinare le barre e gli spazi necessari. Assicurati che gli spazi esistano unicamente tra una barra e l'altra (la prima barra tocca il bordo sinistro del diagramma, l'ultima barra il destro).
Suggerimenti:
max(nome_lista)
; la funzione len(nome_lista)
restituisce il numero di elementi che compongono una lista.enumerate
restituisce l'indice ("i") di ogni elemento della lista (cioè la posizione che l'elemento occupa nella lista) e il suo valore: nel nostro esempio, eseguendo un ciclo for
sulla lista [0.5, 1.0, 0.9, 1.0, 1.5, 0.1]
, durante la prima iterazione avremo i = 0
e valore = 0.5
, durante la seconda iterazione avremo i = 1
e valore = 1.0
e così via. Puoi usare il valore di i
per controllare se sei arrivato all'ultima barra (nel quale caso non andrà aggiunto lo spazio a destra): nel nostro esempio, dato che lavoriamo su una lista di sei elementi, all'ultima iterazione del ciclo i
sarà uguale a 5 (cioè numero_barre - 1
).This activity has been created by Lardelli and is licensed under CC BY-SA 4.0.
It is derived from this activity.
Diagramma a barre
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version c08406b (Wed, 20 Nov 2024 12:30:00 GMT)