In questo post scoprirete il codice completo di un programma python per calcolare l’area di un triangolo. Troverete lo script completo al termine dell’articolo. Vi consiglio di seguire tutti i passaggi per comprendere ogni riga di codice ed imparare a programmare in maniera professionale.
Per risolvere questo problema, abbiamo bisogno di una brevissima introduzione teorica. Ricorderete che l’area di un triangolo è uguale al prodotto della base e dell’altezza diviso due. In formule:
\(A = (b \times h) / 2\)È importante rimarcare già da adesso il fatto che, trattandosi di quantità geometriche che rappresentano la lunghezza di segmenti ed un’area, esse dovranno essere positive, affinche questa formula abbia senso Ad un certo punto, durante il nostro programma, sarà necessario inserire un controllo mediante l’istruzione if.
Ma procediamo passo passo, realizzando prima un programma estremamente sintetico ed ampliandone successivamente le caratteristiche e funzionalità.
1. Prima versione (super) sintetica: l’area del triangolo in tre righe di codice python
Si tratta, dunque, di applicare una semplice formula. Se conosciamo già il valore delle nostre variabili di interesse, possiamo dichiarare queste variabili (nel nostro caso base ed altezza) assegnandogli direttamente questi valori. Dopo, ci resta soltanto un’operazione da svolgere con queste variabili per applicare la semplice formula per il calcolo dell’area, che abbiamo scritto sopra. Il codice più sintetico per calcolare l’area di un triangolo in python potrebbe dunque essere composto da queste tre sole linee di codice.
base = 2
altezza = 3
area_triangolo = (base * altezza) / 2
2. Creaiamo l’interazione con l’utente: usiamo la funzionalità di python per inserire i valori interi da tastiera
Tutto questo diventa più interessante se io posso consentire all’utente finale del codice di riutizzare il programma ogni volta che vuole, con dei valori sempre diversi di base ed altezza. Per fare ciò, abbiamo bisogno di inserire le righe di codice python che ci permettono di leggere i valori di base ed altezza da tastiera, invece che definirli manualmente all’interno del codice. Ma è difficile gestire un input da tastiera in python? Niente affatto! Possiamo farlo semplicemente utilizzando la funzione input() in combinazione con la funzione int(). Per approfondire questo argomento e conoscere meglio la funzione input, leggi quest’altro post.
# Leggere base ed altezza come input intero da testiera
base = int(input("Inserire la base: "))
altezza = int(input("Inserire l'altezza: "))
area_triangolo = (base * altezza) / 2
3. Verificare che base ed altezza siano entrambe maggiori di zero
È altresì una buona norma controllare che le variabili si trovino in un range consentito. Vogliamo infatti prevenire errori a causa di un cattivo inserimento (per esempio, se l’utente assegna alla base o all’altezza valori invalidi, come 0 oppure -1). Nel nostro caso, le dimensioni di un triangolo (ovvero, la base e l’altezza) hanno senso unicamente se positivi, trattandosi di quantità geometriche con uno specifico significato di lunghezza. Aggiungiamo al nostro codice python una sequenza di controllo per garantire che sia la base che l’altezza siano, di fatto, maggiori di zero. Modifichiamo il codice precedente nel seguente modo, per ottenere la versione finale del nostro programma per calcolare l’area di un triangolo, avendo letto da tastiera i valori di base ed altezza.
Versione finale (codice completo)
Per comodità, aggiungo il codice completo qui sotto in un unico blocco, da copiare ed incollare. In alternativa, puoi scaricare il file codice_python_area_di_un_triangolo.py (che ho caricato su github).
# Leggere base ed altezza come input intero da testiera
base = int(input("Inserire la base: "))
altezza = int(input("Inserire l'altezza: "))
# Calcolare l'area del triangolo. Se una delle dimensioni è negativa, visualizzare un messaggio di errore
if base > 0 and altezza > 0:
area_triangolo = (base * altezza) / 2
print("Area del triangolo: ", area_triangolo)
else:
print("Impossibile calcolare l'area del triangolo: almeno una delle dimensioni inserite è negativa")