def myrange(stop_at, start_at=0, step=1):
val = start_at
while val < stop_at:
yield val
val+=step
for f in myrange(1,step=0.1):
print(f)
>>> def g(start, stop, step):
... while stop <= start:
... yield start
... start += step
>>> list(g(0.4, 0., -0.1))
0: [0.4,
0.30000000000000004,
0.20000000000000004,
0.10000000000000003,
2.7755575615628914e-17]
>>> list(range(4, 0, -1))
1: [4, 3, 2, 1]
>>>