Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème arrondi

30 décembre 2015 à 11:58:30

Bonjour, 

J'ai un petit problème : 

Quand je fais un 

var = 100/90

print(var)

Le print me donne : 1 

Je ne comprend pas il arrondi a l'entier le plus proche. 

Merci 

  • Partager sur Facebook
  • Partager sur Twitter
30 décembre 2015 à 12:15:30

En python 2, la division / renvoie un entier. Pour avoir la valeur exacte, il faut qu'au moins un des élément soit un flottant ^^:

#Le . juste après le 100 change tout 
res = 100./90
print res


Ce problème est résolu en python 3, où la division renvoie directement un flottant

  • Partager sur Facebook
  • Partager sur Twitter
Précepte: Le mieux est l'ennemi du bien
Anonyme
30 décembre 2015 à 12:40:06

Ou sinon si tu veux changer le comportement par défaut de Python 2:

from __future__ import division

Ainsi le comportement de Python 2 avec la division va être calqué sur le comportement de Python 3. C'est à dire:

>>> # Comportement Python 2 classique
... 3/2
1
>>> # On importe le module
... from __future__ import division
>>> # Comportement Python 3 classique
... 3/2
1.5
>>> # Même avec la division entière:
... 3//2
1

Le tout lancé dans un shell Python 2 naturellement.


  • Partager sur Facebook
  • Partager sur Twitter