Maison >développement back-end >Tutoriel Python >Pourquoi l'opérateur Modulo de Python produit-il un résultat positif avec des nombres négatifs ?
Comportement de l'opérateur modulo Python avec des nombres négatifs
L'opérateur modulo (%) en Python gère les nombres négatifs différemment qu'en C ou C . Contrairement à ces langages, l'opérateur modulo de Python garantit toujours que le résultat a le même signe que le dénominateur.
Pourquoi -5 % 4 est évalué à 3, pas à -1
Considérons l'expression -5 % 4. Dans ce cas, elle est évaluée à 3 car le calcul se déroule comme suit :
Python choisit ce comportement car un résultat non négatif est généralement plus utile. Par exemple, lors du calcul des jours de la semaine à l'aide de la formule (2 - N) % 7, l'opérateur modulo garantit que le résultat se situe dans la plage [0, 6], représentant les jours de la semaine.
Contraste avec le comportement C
En C, si N est supérieur ou égal à 3 dans cette formule, le résultat serait négatif, ce qui n'est pas un nombre de jour valide. Pour obtenir un résultat correct, C nécessite un ajustement manuel en ajoutant 7 au résultat négatif.
Pour plus d'informations sur le comportement de l'opérateur modulo avec des nombres négatifs dans différentes langues, veuillez vous référer à l'article Wikipédia sur le modulo opérateur.
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!