-1/2

Lie Lie.1296 at gmail.com
Mon Jun 23 15:16:49 CEST 2008


On Jun 23, 1:32 am, "Serve Lau" <ni... at qinqin.com> wrote:
> What is the expected result of -1/2 in python?


Operator precedence:
Both python 2 and 3 follows the same rule for operator precedence,
see: http://www.ibiblio.org/g2swap/byteofpython/read/operator-precedence.html
. In -1/2, unary negative takes precedence, then division, i.e. it's
interpreted as ((-1) / 2).

Py3k and Python 2 differences:
Before Python 3, integer division is always rounds to minus infinity.
In Python 3, integer division yields floats. To use integer division
in Python 3, you use // operator.

Simple answer:
Python 2: (-1)/2 = round(-0.5)          = -1
Py3k:     (-1)/2 = float(-1) / float(2) = -0.5



More information about the Python-list mailing list