Python - Radicación negativa en Python

 
Vista:

Radicación negativa en Python

Publicado por Juan Fernandez (4 intervenciones) el 06/01/2016 18:31:33
Buenos días a todo el mundo.

Me gustaría hacer una pregunta por si alguien puede ayudarme.

Estoy tratando de aprender Python por mi cuenta (nada serio, sólo por el placer de adquirir conocimientos). El caso es que, probando a crear funciones, me dio por ponerme con la radicación. La función que he creado es la siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
def radicacion(numero, indice):
    '''(número, numero) -> número
    Retorna la raíz de índice "indice" del número "numero" pasados como argumentos.

    Ejemplo:

    >>> radicacion(25,2)
    5

    >>> radicacion(64,3)
    4
    '''
    return numero ** (1.0 / indice)

Esta función, en principio debería devolver la raiz "n" de un número. Con los positivos todo funciona bien (al menos con los que he probado). Pero con los números negativos, la cosa se pone interesante.

Dado que el módulo "math" de Python no opera con números negativos en las raíces, importamos el módulo "cmath". He aquí algunos de los resultados que obtenemos al ejecutar esta función:

>>> radicacion(-27, 3)
1.5000000000000004 + 2.598076211353316j

>>> radicacion(-4,2)
1.2246467991473532e-16 + 2j

Evidentemente, estos resultados no son correctos y, para ser sinceros, no tengo ni idea de donde salen.

Si alguien puede echarme una mano, se lo agradecería.

Indicar que opero con Python 3.4 bajo Windows 7 (que se me olvidaba mencionarlo)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder