Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/05/2013, 22:06
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 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.