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 ?

Comment Python gère-t-il la division entière et comment puis-je obtenir des résultats en virgule flottante ?

Barbara Streisand
Libérer: 2024-12-14 09:00:20
original
777 Les gens l'ont consulté

How Does Python Handle Integer Division, and How Can I Get Floating-Point Results?

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal