我正在做一个 DCA 交易项目。我有一些金额“X”,我需要将“X”金额分成“Y”部分。每个“Y”部分应具有“Z”的比例或比例。我想要输出的是“Y”部分和“X”的分割数量
X = 1000
Y = 4
Z = 2
然后输出将是
66.66, 133.33, 266.66, 533.33
解释:每个前面的数字都是前面数字的两倍或2倍(Z),分为4个部分(Y),它们的总和几乎是1000(X)
例二:
X = 1000
Y = 5
Z = 1
那么输出就是
200, 200, 200, 200, 200
解释:每个前面的数字都是相同的或者是前面数字的1倍(Z),分成5份(Y),它们的总和几乎是1000(X)
例三:
X = 1000
Y = 6
Z = 1.5
那么输出就是
48.12, 72.18, 108.27, 162.4, 243.6, 365.41
解释:前一个数几乎是前一个数的 1.5 倍(Z),分成 6 个部分(Y),它们的总和几乎是 1000(X)
你可以这样做:
X = 1000
Y = 4
Z = 2
n_parts = sum([Z ** i for i in range(Y)])
part_size = X / n_parts
output = [part_size * Z ** i for i in range(Y)]
print(output)
输出:
[66.66666666666667, 133.33333333333334, 266.6666666666667, 533.3333333333334]
此代码找到“零件尺寸”,然后将每个输出乘以
i
次方,因此连续输出比上一个大 Z 倍。