Je cherche de la doc, sur :
from __future__ import division
Ce module (module ou pragma ?) a l'air de convertir les divisions entières
en division décimales.
Mais il a semblerait avoir certaines limites, que j'aimerais bien connaître.
Voici un exemple de test :
qf='''
a=7
b=5
c=a/b'''
exec(qf,globals(),globals())
print c #-> donne 1
qf='''from __future__ import division
a=7
b=5
c=a/b'''
exec(qf,globals(),globals())
print c #-> donne 1.4
Une idée, où trouver de la doc ?
@+
Michel Claveau
PS :
1) j'ai utilisé "exec" pour limiter la portée de la pseudo-instruction, sans
créer des modules.
2) exemple de limite :
qf='''
a=1234567890123456789012345678907
b=5
c=a/b'''
exec(qf,globals(),globals())
print c
qf='''from __future__ import division
a=1234567890123456789012345678907
b=5
c=a/b'''
exec(qf,globals(),globals())
print c
On perd la précision "longue".
Je cherche de la doc, sur : from __future__ import division
Il y en a un peu dans le PEP 238 [1] dont c'est l'implantation.
[1]http://www.python.org/peps/pep-0238.html
Do Re Mi chel La Si Do
Merci
Cela confirme ce que j'avais trouvé. Finalement, on a intérêt à généraliser la "floor-division" (//), pour les entiers (longs), dès à présent. Cela évitera quelques surprises dans l'avenir.
@-salutations
Michel Claveau
Merci
Cela confirme ce que j'avais trouvé. Finalement, on a intérêt à généraliser
la "floor-division" (//), pour les entiers (longs), dès à présent. Cela
évitera quelques surprises dans l'avenir.
Cela confirme ce que j'avais trouvé. Finalement, on a intérêt à généraliser la "floor-division" (//), pour les entiers (longs), dès à présent. Cela évitera quelques surprises dans l'avenir.
@-salutations
Michel Claveau
Do Re Mi chel La Si Do
Bonsoir !
Même si l'on utilise "from __future__ import division", la "floor-division" (//) maintient la très grande précision des calculs avec des entiers (très) longs.
Donc le chemin est tracé.
@-salutations
Michel Claveau
Bonsoir !
Même si l'on utilise "from __future__ import division", la "floor-division"
(//) maintient la très grande précision des calculs avec des entiers (très)
longs.
Même si l'on utilise "from __future__ import division", la "floor-division" (//) maintient la très grande précision des calculs avec des entiers (très) longs.