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?



2010/3/15 Pavel Daniel Lopez Castillo <pdlo...@uci.cu>

> Exacto ese es el problema que tengo, pero se puede resolver con
> round(numero ** (1.0 / 3))
>
> pero para 26 por ejempo me da 3 y necesito que sea 2, me hace falta que si
> es un cubo perfecto me de la raiz exacta pero si no lo es me de la parte
> entera del flotante
>
> raiz cubica de 26 = 2.96249606841  parte entera = 2
>
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Reply via email to