Problema con funcion round

Toni Casueps casueps en hotmail.com
Jue Feb 9 13:54:19 CET 2006


Esto es el resultado de aplicar a una lista de 10 valores la funcion round a 
1 decimal, y otra función round con una pequeña modificación para que 
redondee siempre al número mayor:

>>>lista=(2.05,2.15,2.25,2.35,2.45,2.55,2.65,2.75,2.85,2.95)
>>>for a in lista:
...   print a,round(a,1),round(a+0.00001,1)
...
2.05 2.0 2.1
2.15 2.1 2.2
2.25 2.3 2.3
2.35 2.4 2.4
2.45 2.5 2.5
2.55 2.5 2.6
2.65 2.6 2.7
2.75 2.8 2.8
2.85 2.9 2.9
2.95 3.0 3.0


Yo quiero que me redondee siempre al número mayor (tercera columna) y con 
ese truco puedo obtenerlo, pero no entiendo por que Python a veces lo hace 
al número menor y a veces al número mayor. Puede ser un bug de Python?




Más información sobre la lista de distribución Python-es