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.