Usare i numeri in Python

Completato

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 .5o 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