Hola: Estaba echándole un vistazo superficial a la biblioteca cmath de Python [1] cuando encontré esto:
static Py_complex 667 c_sqrt(Py_complex z) 668 { [...] 696 Py_complex r; [...] 702 if (z.real == 0. && z.imag == 0.) { 703 r.real = 0.; 704 r.imag = z.imag; 705 return r; 706 } ... El códig en primer lugar comprueba si el número es 0, y si no continúa calculando la raíz cuadrada para números generales. Por supuesto, la raíz cuadrada de 0+0j es 0+0j, pero lo calcula de forma curiosa: la parte real la pone como 0 y la imaginaria como la imaginaria del número original (que es 0). ¿Por qué es esto? Se me ocurrió que podría ser para preservar tipos, pero >>> cmath.sqrt(0) 0j devuelve un complejo, no un real. [1] http://svn.python.org/view/python/trunk/Modules/cmathmodule.c?revision=76978&view=markup _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/