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



--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to