Maison >développement back-end >Tutoriel Python >Comment Python gère-t-il la division entière et comment puis-je obtenir des résultats en virgule flottante ?
Division entière en Python
En Python, la division entière entre deux entiers donne un entier, même si le résultat serait autrement un décimal fraction. Ce comportement peut surprendre ceux qui sont habitués à d'autres langages de programmation.
Exemple :
Considérons le code suivant :
>>> (20 - 10) / (100 - 10) 0
Ici, nous on s'attendrait à ce que le résultat soit 0,1111111111111111, puisque la différence entre 20 et 10 est 10, et la différence entre 100 et 10 est 90. Cependant, Python évalue chaque côté de la division comme un entier, ce qui donne 0. Puisque 0 divisé par 90 est égal à 0, la réponse finale est arrondie à 0.
Correction :
Pour obtenir le résultat souhaité, vous pouvez convertir l'un des nombres en un float :
>>> (20 - 10) / float((100 - 10)) 0.1111111111111111
Alternativement, vous pouvez importer la future fonctionnalité "division", qui modifie le comportement de l'opérateur "/" pour toujours renvoyer un float :
>>> from __future__ import division >>> (10 - 20) / (100 - 10) -0.1111111111111111
En comprenant le comportement de division entière par défaut en Python, vous pouvez éviter les résultats inattendus et vous assurer que votre code produit les résultats souhaités.
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!