无法正确计算复利

时间:2016-04-20 00:35:02

标签: python math tkinter

以下是代码:

def calculate(*args):
try:
    value = float(income.get())
    expenses.set("$"+str(value * .60))
    longTerm.set("$"+str(value * .10))
    vacation.set("$"+str(value * .04))
    carDown.set("$"+str(value * .04))
    homeDown.set("$"+str(value * .02))
    guiltFree.set("$"+str(value * .20))
    projection.set("$"+str(value * .10 * 1 + 0.05/4 ** 4*10))

except ValueError:
    pass

由于某种原因,我传入100时的输出是$ 100.001953125

我在数学代码的projection.set部分做错了什么?

1 个答案:

答案 0 :(得分:1)

我不是100%确定你要做什么,但我想要实现公式

A = P(1+r/m)^mt

你需要

projection.set("$"+str(value * .10 *( 1 + 0.05/4) ** (4*10)))

而不是

projection.set("$"+str(value * .10 * 1 + 0.05/4 ** 4*10))

(记住PEMDAS