While using the built-in range function a while ago. I found an odd (perhaps bug) where the range function couldn't use float steps. I am not sure if that was intended for simplicity or not, but I wrote my own range function that goes beyond that anyway.
1 2 3 4 5 6 7 8 9 10
from decimal import Decimal # replaces default range function to allow more functionality def range(start, stop=None, step=1): if stop==None: stop = start; start = 0 x =  while start < stop: x.append(Decimal(str(start))) start += Decimal(str(step)) return x