Erzsebet Erzsebet - 1 month ago 7
Python Question

Division in Python 2.7. and 3.3

How can I divide two numbers in Python 2.7 and get the result with decimals?

I don't get it why there is difference:

in Python 3:

>>> 20/15
1.3333333333333333


in Python 2:

>>> 20/15
1


Isn't this a modulo actually?

Answer

In python 2.7, the / operator is integer division if inputs are integers.

If you want float division (which is something I always prefer), just use this special import:

from __future__ import division

See it here:

>>> 3 / 2
1
>>> from __future__ import division
>>> 3 / 2
1.5
>>>

Integer division is achieved by using //, and modulo by using %

>>> 3 % 2
1
>>> 3 // 1
3
>>>

EDIT

As commented by user2357112, this import has to be done before any other normal import.

Comments