DCA 逻辑的 python 程序

问题描述 投票:0回答:1

我正在做一个 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)

python python-3.x logic percentage
1个回答
1
投票

你可以这样做:

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 倍。

© www.soinside.com 2019 - 2024. All rights reserved.