Specific instance of Problem I have an int range from 1-100. I want to generate n total numbers within this range that are as evenly distributed
You need proper rounding:
def steps(start,end,n): if n<2: raise Exception("behaviour not defined for n<2") step = (end-start)/float(n-1) return [int(round(start+x*step)) for x in range(n)]