Usare i numeri in Python
Oltre all'aritmetica di base, è possibile usare altre operazioni sui numeri. Potrebbe essere necessario eseguire l'arrotondamento o convertire le stringhe in numeri.
Nello scenario per questo modulo si vuole accettare l'input di un utente. L'input sarà una stringa anziché un numero, quindi sarà necessario convertirlo in un numero. Inoltre, l'utente potrebbe immettere valori che forniscono una risposta negativa, che non si vuole visualizzare. Potrebbe essere necessario convertire la risposta nel valore assoluto. Fortunatamente, Python fornisce utilità per queste operazioni.
Convertire stringhe in numeri
Python supporta due tipi principali di numeri: Integer (o int
) e numeri a virgola mobile (o float
). La differenza chiave tra i due è l'esistenza di un separatore decimale; i valori Integer sono numeri interi, mentre quelli float contengono un valore decimale.
Quando si convertono stringhe in numeri, si indica il tipo di numero che si vuole creare. Bisogna decidere se è necessario un separatore decimale. Si usa int
per convertire in un valore Integer e float
per eseguire la conversione in un numero a virgola mobile.
demo_int = int('215')
print(demo_int)
demo_float = float('215.3')
print(demo_float)
215
215.3
Importante
Se si usa un valore non valido per int
o float
, viene visualizzato un errore.
Valori assoluti
Un valore assoluto in matematica è il numero non negativo senza il segno. L'uso di un valore assoluto può essere utile in situazioni diverse, incluso il nostro esempio di ricerca per determinare la distanza tra due pianeti. Si consideri il calcolo seguente:
print(39 - 16)
print(16 - 39)
Si noti che la differenza tra le due equazioni è che i numeri vengono invertiti. Le risposte sono rispettivamente 23
e -23
. Quando si determina la distanza tra due pianeti, l'ordine in cui si immettono i numeri non è importante, perché la risposta assoluta è la stessa.
Convertire il valore negativo in valore assoluto usando abs
. Se si esegue la stessa operazione usando abs
(e si stampano le risposte), si nota che viene visualizzato 23
per entrambe le equazioni.
print(abs(39 - 16))
print(abs(16 - 39))
23
23
Arrotondamento
Anche la funzione Python predefinita denominata round
è utile. Usarlo per arrotondare fino all'intero più vicino se il valore decimale è maggiore di .5
o verso il basso se è minore di .5
. Se il valore decimale è uguale a .5
, la funzione arrotonda o riduce l'intero pari più vicino.
print(round(1.4))
print(round(1.5))
print(round(2.5))
print(round(2.6))
1
2
2
3
Libreria matematica
Python include librerie per fornire operazioni e calcoli più avanzati. Una delle più comuni è la libreria math
. math
consente di eseguire l'arrotondamento con floor
e ceil
, fornire il valore di pi e numerose altre operazioni. Verrà ora illustrato come usare questa libreria per arrotondare per eccesso o per difetto.
L'arrotondamento dei numeri consente di rimuovere la parte decimale di un valore float. È possibile scegliere di arrotondare sempre per eccesso al numero intero più vicino usando ceil
o per difetto usando floor
.
from math import ceil, floor
round_up = ceil(12.5)
print(round_up)
round_down = floor(12.5)
print(round_down)
13
12