El 15 de marzo de 2010 16:20, Daniel Garcia <d...@danigm.net> escribió:
> El lun, 15-03-2010 a las 16:18 +0100, Daniel Garcia escribió: > > El lun, 15-03-2010 a las 16:00 +0100, marmolro escribió: > > > Para estos casos yo suelo sustituir el is_integer() por: > > > > > > > > > >>> round(64**(1./3),0) - 64**(1./3) < 10**-15 > > > True > > > > > > > > > El valor de la aproximación ya lo fijas en función de la precisión que > > > quieres. No lo conozco en detalle, pero supongo que se podría dar el > > > caso de "falsos positivos".... ¿alguien conoce una técnica mejor? > > > > > > > > > > Una forma podría ser: > > > > (x**(1./3))**3 == x > > Esto no vale para nada, quiero decir, sólo vale para saber que estás > teniendo un fallo de precisión. Me he liado entre unas cosas y otras. > > > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > Yo, si hago: int(nro**(1./3)) me da siempre la parte entera del cubo del número, sea un cubo perfecto o no. <file:///D:/kiko/20090226-20090410-EE_CE_RadonaIRadonaIIBullana/CE_radonasBullana/TablasDeRadonaII.xlsx>
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/