frange_test.py


def frange(start,end,steps):
    step = abs((end-start)/(steps))
    f = start
    while True:
        yield(f)
        if f is not None: f += step
        if f > end:       f = None


def display_list(lst,title=None,num=-1):
    if title is not None: print(title)
    if num >= 0: lst = lst[:num]
    llen = len(lst)
    i = 0
    for x in lst:
        i += 1
        print(f'{x:.4f}',end='')
        if i >= llen: break
        print(', ',end='')
    print('\n')


# ---- create a list (10 steps + start and maybe end)

start = 0.0
end   = 10.5 
size  = 10

lst = []
for x in frange(start,end,size):
    if x is None: break
    lst.append(x)
    
# ---- display a list

display_list(lst,'test list',0)

print(f'len={len(lst)}')
print(lst)