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/