Remix.run Logo
smoe a day ago

From long ago memory: in Python 2, 1 / 2 did integer division. You had to do something like 1 / 2.0 if you wanted floating point division.

kingforaday a day ago | parent [-]

Spot on. Py2 was integer division, Py3 was true division. In Py2 you could get the true division with an `from __future__ import division` (Can't recall which Py2 version this became an import). Fun fact too: In Py3 you can do a // to get back to the floor division effect (e.g. 1 // 2 --> 0)

3eb7988a1663 a day ago | parent [-]

PEP 238 lays out the story if anyone is curious. Well into the Python 3 transition, I still had a habit of multiplying the denominator by 1.0 to ensure it was a float.

https://peps.python.org/pep-0238/