Maison >développement back-end >Tutoriel Python >Pourquoi la division entière dans Python 2 donne-t-elle des résultats inattendus avec des nombres négatifs ?
Résultats inattendus de la division entière
Dans Python 2, effectuer une division entière avec des nombres négatifs peut donner des résultats surprenants. Par exemple, en divisant 8 par -7, le résultat est -2, bien que le quotient attendu soit d'environ -1,143.
Comprendre la division au sol
Division entière, souvent appelée « division d'étage » dans Python 2, arrondit le résultat à l'entier le plus proche. Ce comportement dicte que même lors de la division d'entiers positifs et négatifs, le résultat est toujours plus négatif.
Exemples d'énigmes
Ce principe d'arrondi conduit à des résultats déroutants, comme illustré par les opérations de division suivantes :
Python 3 Fixes l'Anomalie
Dans Python 3, ce problème est résolu. Pour la même opération, 8/(-7), la sortie est -1,143. Cependant, si le comportement souhaité est une division entière, l'utilisation de l'opérateur "//" répliquera le résultat de Python 2.
Explication technique
Dans Python 2, le le type d'un entier divisé par un autre entier est également un entier. Le résultat est donc arrondi à l’entier inférieur le plus proche. Python 3 introduit la conversion de type automatique, qui permet au résultat d'être représenté sous forme de nombre à virgule flottante, conservant sa valeur réelle.
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!