elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Raíz
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Raíz  (Leído 2,348 veces)
Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Raíz
« en: 11 Octubre 2010, 16:37 pm »

Hola:

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

Código
  1. from math import sqrt
  2.  
  3.  
  4. x1 = float(raw_input('Ingrese el primer numero con decimal: '))
  5. x2 = float(raw_input('Ingrese el segundo numero con decimal: '))
  6. y1 = float(raw_input('Ingrese el tercer numero con decimal: '))
  7. y2 = float(raw_input('Ingrese el cuarto numero con decimal: '))
  8.  
  9. 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.


En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Raíz
« Respuesta #1 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


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Raíz
« Respuesta #2 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
  1. var1 = sqrt((x1 - x2)**2 + (y1 - y2)**2)
  2.  
En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: Raíz
« Respuesta #3 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
  1. sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Raíz
« Respuesta #4 en: 11 Octubre 2010, 17:32 pm »

No varia el resultado.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines