30 lines
679 B
Python
30 lines
679 B
Python
from utils.literal import Literal
|
|
|
|
# a generator that yields items instead of returning a list
|
|
def mrange(parm1, parm2=None, parm3=None):
|
|
if parm2 is None:
|
|
start = 0
|
|
stop = int(parm1)
|
|
step = 1
|
|
elif parm3 is None:
|
|
start = int(parm1)
|
|
stop = int(parm2)
|
|
step = 1
|
|
else:
|
|
start = int(parm1)
|
|
stop = int(parm2)
|
|
step = int(parm3)
|
|
num = start
|
|
if step > 0:
|
|
while num < stop:
|
|
yield Literal(num)
|
|
num += step
|
|
else:
|
|
while num > stop:
|
|
yield Literal(num)
|
|
num += step
|
|
|
|
if __name__ == "__main__":
|
|
for l in mrange(10):
|
|
print(l)
|