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)