Fractions as result from divisions
zephyrfalcon!NO_SPAM! at gmail.com
Wed Jul 8 14:51:30 CEST 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