Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Duda con el module

Estas en el tema de Duda con el module en el foro de Python en Foros del Web. Amigos recurro a ustedes para que me aclaren una duda, por mas que le busco no se como responderla. Por que si hago la siguiente ...
  #1 (permalink)  
Antiguo 04/05/2013, 20:44
 
Fecha de Ingreso: agosto-2012
Ubicación: Villahermosa
Mensajes: 26
Antigüedad: 12 años, 4 meses
Puntos: 0
Duda con el module

Amigos recurro a ustedes para que me aclaren una duda, por mas que le busco no se como responderla.

Por que si hago la siguiente operacion:

print 1.20 % 1

el resultado que me arroja es :

0.19999999999999996

cuando al hacerla manualmente el residuo de dicha division si da 0, no entiendo mucho aqui la logica del modulo.

Podrian ayudarme ???
  #2 (permalink)  
Antiguo 04/05/2013, 21:52
Avatar de ggomez91  
Fecha de Ingreso: octubre-2008
Mensajes: 181
Antigüedad: 16 años, 2 meses
Puntos: 13
Respuesta: Duda con el module

Es por que se está haciendo el módulo de un número flotante. Los números flotantes no son completamente precisos sino aproximaciones, por eso te sale 1.9999... que es muy parecido a 2.
  #3 (permalink)  
Antiguo 04/05/2013, 22:06
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Duda con el module

No veo por que debería de dar 0.

En todo caso debería de dar 0.2 (Lo cual es razonable cuando lees los gotchas que tienen los flotantes).

Lo que pasa es que en python es que el operador modulo % regresa el residuo de 2 numeros.

Lo cual para los enteros esta definido mas o menos de la siguiente forma:


Pero de manera general se puede extender la función mas allá de los números naturales, como reales y complejos. http://en.wikipedia.org/wiki/Modular...nder_operation

Entonces como puedes ver en las formulas del link anterior y con el dominio a flotantes tu expresión (1.2 % 1) se transforma en algo como (1.2 - int(1.2 / 1) * 1). Y por eso te da ese resultado.

Si lo prefieres puedes leer la explicación del operador % modulo con manzanitas que hice hace tiempo.
  #4 (permalink)  
Antiguo 05/05/2013, 00:08
 
Fecha de Ingreso: agosto-2012
Ubicación: Villahermosa
Mensajes: 26
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Duda con el module

muchas gracias a todos y por lo de las manzanitas, jejeje, ya quedo entendido

Etiquetas: module
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:58.