把数分成n等份
Divide number into n equal parts
我需要在Python中将一个数分成n等份。输出应该是一个包含元组的列表,其中包含每个部分的最小值和最大值。
例如,如果输入为 25,则输出应为 [(1, 5), (6, 10), (11, 15), (16, 20), (21, 25)]。
前半部分是您所想的,但就像其他人评论的那样,这取决于数字能否被 n 整除。我冒昧地将不能被 n 整除的数字与 float
边分开。
def partition(number, n):
if number % n == 0: # check if number divisible by n
width = number // n
return [(1 + i*width, width + i*width) for i in range(n)]
else:
x = np.linspace(1, number, n+1)
return [(x[i], x[i+1]) for i in range(n)]
我需要在Python中将一个数分成n等份。输出应该是一个包含元组的列表,其中包含每个部分的最小值和最大值。
例如,如果输入为 25,则输出应为 [(1, 5), (6, 10), (11, 15), (16, 20), (21, 25)]。
前半部分是您所想的,但就像其他人评论的那样,这取决于数字能否被 n 整除。我冒昧地将不能被 n 整除的数字与 float
边分开。
def partition(number, n):
if number % n == 0: # check if number divisible by n
width = number // n
return [(1 + i*width, width + i*width) for i in range(n)]
else:
x = np.linspace(1, number, n+1)
return [(x[i], x[i+1]) for i in range(n)]