[Python] Richiesta chiarimento

Guido Dassori flandero a gmail.com
Dom 1 Mar 2015 11:51:51 CET


Ciao, la tua interpretazione dell'operatore % mi pare corretta,

sul risultato di cui parli, il discorso sta nella precisione dei
floating numbers:
https://docs.python.org/2/tutorial/floatingpoint.html
che porta a problemi nella loro rappresentazione (e alla lunga, sul
calcolo).

Per questa ragione il consiglio che ti do è di evitare quanto più
possibile i numeri a virgola mobile, se non nella rappresentazione del
risultato finale.

Una possibilità potrebbe essere quella di stabilire da prima quale
precisione intendi raggiungere, portare i numeri trattati ad interi, e
dividerli solo prima della loro rappresentazione in numeri a virgola mobile.

Altrimenti un'alternativa è quella di esplorare l'oggetto Decimal, che
ti permette di gestire i numeri a virgola mobile con una migliore
precisione https://docs.python.org/2/library/decimal.html

Ciao



Il 01/03/2015 11:38, Carpediem ha scritto:
>
> effettuando le soprascritte operazioni con una semplice calcolatrice,
> però, ottengo che 10/3 = 3.3 e 5.3/2.5 = 2.12 il che mi ha fatto
> pensare ad un semplice errore della guida che ha invertito il valore
> dei risultati ma, provando ad inserire l'operazione 5.3%2.5 in python
> ottengo in effetti il risultato di 0.2999....
> A questo punto, devo dire che non ho capito come opera "%".
> Potete chiarirmi questa cosa?



Maggiori informazioni sulla lista Python