Division entière en Python : percer le mystère des résultats arrondis
En Python, les opérations de division peuvent parfois donner des résultats inattendus, en particulier lorsque les opérandes sont des entiers. Pour comprendre ce comportement, nous devons approfondir les nuances de la division entière de Python.
Lorsque deux entiers sont divisés, le résultat est également un entier. Ce comportement résulte de l'implémentation de la division dans Python 2.x, où les opérandes sont tronqués avant que l'opération ne soit effectuée. Prenons l'exemple :
>>> (20-10) / (100-10) 0
Ici, les opérandes sont respectivement évalués à 10 et 90. Puisque les deux sont des entiers, le résultat est également tronqué à 0. En effet, l'opérateur de division (/) dans Python 2.x donne toujours un entier.
Pour résoudre ce problème, on peut appliquer une division flottante par convertir l'un des opérandes en flottant :
>>> (20-10) / float((100-10)) 0.1111111111111111
Vous pouvez également importer le module de division depuis __future__ :
>>> from __future__ import division >>> (10 - 20) / (100 - 10) -0.1111111111111111
Cela garantit que la division renvoie toujours un flottant, quels que soient les types d'opérandes. En comprenant ces subtilités, vous pouvez éviter des erreurs d'arrondi inattendues dans votre code Python.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!