Division help in python
Jean-Michel Pichavant
jeanmichel at sequans.com
Fri Sep 7 12:19:17 EDT 2012
Ramyasri Dodla wrote:
> Hi All,
>
> I am brand new to python. checking over basic stuff. I came across the
> problem while doing so. If any body aware of the problem, kindly
> respond me.
>
> >>> 5/10
> 0
> >>> - 5/10
> -1
>
> The second case also should yield a 'zero' but it is giving a -1
>
Why should it yield 'zero' ?
The definition of the euclidean division :
(http://en.wikipedia.org/wiki/Euclidean_division)
a = b*q +r with 0≤ r < |b|
With the constraint of r being a positive integer, the couple (q, r) is
unique:
with a=-5, b=10
-5 = 10*-1 + 5 (q=-1, r=+5)
Note that for the strict Euclidean division, I mean the one allowing r
to be negative, then
-5 = 10*0 - 5 (q=0, r=-5) is also valid, but I there's still no reason
to state that it SHOULD be prefered over the other solution.
The uniqueness of the solution for the 1st definition is probably what
makes python yield -1 instead of 0.
Cheers,
JM
More information about the Python-list
mailing list