Why doesn’t this division work in Python? [duplicate]

Until version 3, Python’s division operator, /, behaved like C’s division operator when presented with two integer arguments: it returns an integer result that’s truncated down when there would be a fractional part. See: PEP 238

>>> n = 29
>>> d = 1009
>>> print str(float(n)/d)
0.0287413280476

In Python 2 (and maybe earlier) you could use:

>>> from __future__ import division
>>> n/d
0.028741328047571853

Leave a Comment