Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: Meta en 11 Octubre 2010, 16:37 PM

Título: Raíz
Publicado por: Meta en 11 Octubre 2010, 16:37 PM
Hola:

Quiero calcular esta raíz y me sale este error.

Código (python) [Seleccionar]

from math import sqrt


x1 = float(raw_input('Ingrese el primer numero con decimal: '))
x2 = float(raw_input('Ingrese el segundo numero con decimal: '))
y1 = float(raw_input('Ingrese el tercer numero con decimal: '))
y2 = float(raw_input('Ingrese el cuarto numero con decimal: '))

var1 = sqrt((x1 - x2) * 2 + (y1 - y2) * 2)


Ingrese el primer numero con decimal: 3.0
Ingrese el segundo numero con decimal: 4.0
Ingrese el tercer numero con decimal: 5.0
Ingrese el cuarto numero con decimal: 6.0
Traceback (most recent call last):
  File "/home/acaymo/NetBeansProjects/tema4e2a7/src/tema4e2a7.py", line 31, in <module>
    var1 = sqrt((x1 - x2) * 2 + (y1 - y2) * 2)
ValueError: math domain error

En realidad la raíz es sin los asteriscos.
sqrt((x1 - x2)2 + (y1 - y2)2)
Tampoco funciona.

Saludo.
Título: Re: Raíz
Publicado por: Novlucker en 11 Octubre 2010, 16:44 PM
No veo el error, pero desde ya te digo que se "parte" si pones raíz de un número negativo.

Saludos
Título: Re: Raíz
Publicado por: [L]ord [R]NA en 11 Octubre 2010, 16:48 PM
Estas tratando de sacar la raiz de los cuadrados de la diferencia entre 2 puntos en un plano bidimensional... estas multiplicando por 2, no elevandolo al cuadrado, para elevarlo debes colocar un doble asterisco.

Código (python) [Seleccionar]

var1 = sqrt((x1 - x2)**2 + (y1 - y2)**2)
Título: Re: Raíz
Publicado por: criskapunk en 11 Octubre 2010, 17:10 PM
Otra cosa (No se si tendra mucho que ver), pero la formula no es al reves?

Código (python) [Seleccionar]
sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
Título: Re: Raíz
Publicado por: [L]ord [R]NA en 11 Octubre 2010, 17:32 PM
No varia el resultado.