off topic but please forgive me me and answer

Steven D'Aprano steve at
Sat Apr 3 01:07:53 CEST 2010

On Fri, 02 Apr 2010 12:35:55 -0700, Mensanator wrote:

>> If you want an exact result when multiplying arbitrary fractions, you
>> need to avoid floats and decimals and use Fractions:
>> >>> Fraction(1, 2)**2
>> Fraction(1, 4)
> Where do you get that from?

Where do I get what from? Fraction? Oops, sorry about that.

In Python2.6:

>>> from fractions import Fraction

In older Pythons, there was a demo module Demo/classes/ but it may 
not be installed on your system. See

If you meant, where did I get the statement about exact results from, 
both float and Decimal are fixed precision numbers. float precision is 
fixed by the operating system and/or hardware; Decimal precision can be 
arbitrarily chosen by the caller, but having made that choice, 
calculations are rounded to that precision. Only Fraction gives exact 
results for any arbitrary rational number.


More information about the Python-list mailing list