Diviser deux nombres entiers sous python

Published: 20 février 2015

DMCA.com Protection Status

Attention sous python (v < 3) quand on divise deux entiers on obtient un nombre arrondi à la valeur entière immédiatement inférieure. Par exemple:

>>> a = 1
>>> b = 2
>>> c = a / b
>>> c
0

1/2 donne ici 0 au lieu de 0.5. Note: c est de type float:

>>> type(a)
<type 'int'>
>>> type(b)
<type 'int'>
>>> type(c)
<type 'float'>

Pour obtenir un nombre décimal il existe plusieurs solutions:
Solution 1:

 >>> c = 1.0 * a / b
 >>> c
 0.5

Solution 2:

 >>> c = float(a) / b
 >>> c
0.5

Solution 3:

>>> from __future__ import division
>>> a / b
0.5

Recherches associées