Problème fractions trop grande

Résolu
python34 -  
 python34 -
Bonjour,

Je fais un programme concernant les équations différentielles et j'ai un problème : Lorsque le programme calcul un nombre particulier à partir de données, il affiche des fractions avec des nombres très grands inutilement. (Exemple:pour 14/3, il affiche 2627099782632789/562949953421312) Une solution pour éviter ça ?

merci d'avance

3 réponses

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Sans le code, impossible de savoir de quoi tu parles.
0
python34
 
Le programme n'a pas d'importance, voici un code simple et ce qui l'affiche pour que vous compreniez mon problème:

from fraction import*
from math import*

a=1/3+1/4
print(Fraction(a))


et ça affiche: 2627099782632789/4503599627370496
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
'lut, c'est du au manque de précision des nombres flottants normaux que tu obtiens avec le calcul de
a
: le nombre de chiffres derrière la virgule étant fini, le résultat du calcul (ou juste de 1/3) sera tronqué donc la fraction exacte le représentant sera longue.
Pour éviter ça il faut faire toutes tes opérations (impliquant des opérandes non représentables de manière finie en base 2) avec le type Fraction:
>>> from fractions import *
>>> a = Fraction(1, 3) + Fraction(1, 4)
>>> print(a)
7/12
0
python34
 
Très bien, merci beaucoup de votre réponse
0