Fractions as result from divisions

Hans Nowak zephyrfalcon!NO_SPAM! at
Wed Jul 8 08:51:30 EDT 2009

Ulrich Eckhardt wrote:
> Bearophile wrote:
>> For example a novice wants to see 124 / 38 to return the 62/19
>> fraction and not 3 or 3.263157894736842 :-)
> Python has adopted the latter of the three for operator / and the the second
> one for operator //. I wonder if it was considered to just return a
> fraction from that operation.

"For example, in ABC, when you divided two integers, the result was an exact 
rational number representing the result. In Python however, integer division 
truncated the result to an integer.

In my experience, rational numbers didn't pan out as ABC's designers had hoped. 
A typical experience would be to write a simple program for some business 
application (say, doing one’s taxes), and find that it was running much slower 
than expected. After some debugging, the cause would be that internally the 
program was using rational numbers with thousands of digits of precision to 
represent values that would be truncated to two or three digits of precision 
upon printing. This could be easily fixed by starting an addition with an 
inexact zero, but this was often non-intuitive and hard to debug for beginners."

Hans Nowak (zephyrfalcon at gmail dot com)

More information about the Python-list mailing list