Division entière en Python 2 et Python 3 : une histoire de deux résultats
Division de deux nombres en Python peut sembler une tâche simple, mais il existe une différence subtile entre Python 2 et Python 3 qui peut conduire à des résultats inattendus.
Dans Python 2.7, l'opérateur / effectue une division entière lorsque les deux entrées sont des nombres entiers. Cela donne le quotient entier, en excluant toute partie fractionnaire. Par exemple, 20/15 donne 1, qui est le résultat de la division entière.
Dans Python 3, cependant, l'opérateur / effectue la division flottante par défaut, quels que soient les types d'entrées. Cela signifie que 20/15 donne un résultat flottant de 1,3333333333333333, qui conserve la partie fractionnaire.
Pour réaliser une division entière dans Python 2, vous pouvez utiliser l'opérateur //, qui arrondit le quotient à l'entier le plus proche. . L'opération modulo peut être effectuée à l'aide de l'opérateur %. Par exemple :
>> 7 // 2 3 >> 7 % 2 1
Pour que Python 2 se comporte comme Python 3 concernant la division flottante, vous pouvez utiliser l'importation spéciale :
from __future__ import division
Assurez-vous de l'importer avant toute autre importation dans votre code.
Alors, rappelez-vous : dans Python 2.7, la division entière est par défaut /, tandis que dans Python 3, c'est l'inverse. Pour maintenir la cohérence, il est recommandé d'utiliser la division float avec l'opérateur / et de spécifier explicitement la division entière en utilisant // et modulo en utilisant % dans les deux versions de 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!