Python division Python division python python

Python division


You're using Python 2.x, where integer divisions will truncate instead of becoming a floating point number.

>>> 1 / 20

You should make one of them a float:

>>> float(10 - 20) / (100 - 10)-0.1111111111111111

or from __future__ import division, which the forces / to adopt Python 3.x's behavior that always returns a float.

>>> from __future__ import division>>> (10 - 20) / (100 - 10)-0.1111111111111111


You're putting Integers in so Python is giving you an integer back:

>>> 10 / 900

If if you cast this to a float afterwards the rounding will have already been done, in other words, 0 integer will always become 0 float.

If you use floats on either side of the division then Python will give you the answer you expect.

>>> 10 / 90.00.1111111111111111

So in your case:

>>> float(20-10) / (100-10)0.1111111111111111>>> (20-10) / float(100-10)0.1111111111111111


You need to change it to a float BEFORE you do the division. That is:

float(20 - 10) / (100 - 10)