投资算法

时间:2016-04-01 20:13:34

标签: python python-3.x while-loop

所以我在这个循环中遇到了一些麻烦,我不会撒谎,而循环对我来说有点令人沮丧。

我需要这个,而循环要做的是当投资加倍时停止,当前投资设定为10美元,利率为1.25。

在它增加一倍之后我需要花费多少年才能翻倍,多年来这里作为一个反击。

非常感谢任何帮助!

def main():
    print("Number of years for an investment to double.")
    print()

    #Interest rate
    interest = 1.25

    years = 0

    investment = 10

    init_investment = investment * 2

    #While loop with doubling algorithm
    while investment <= init_investment:
        years += 1
        investment = investment * interest

    #Display result
    print("Years to double: {0}".format(years))
main()

2 个答案:

答案 0 :(得分:1)

您的循环没问题,您的利率不是:1.2525%相同。你想要1.0125(或0.0125,然后将其添加到当前原则中。)

通过这种改变,你的循环提供了一个答案:

Number of years for an investment to double.

Years to double: 56

答案 1 :(得分:1)

首先,复利的等式是

 total = principal * (1+interest_rate) ** number_of_years

你不需要循环来解决它(实际上应该不应该使用循环)

现在你可以重新安排这个你想要的

total = 2* principal
interest_rate = 0.25 #  25% interest? I want to know where you get this rate :P

现在你要解决多少年

2*principal = principal*1.25**N

现在你可以(希望)轻松地看到这个等式是正确的

2 = 1.25 ** N

所以现在就解决这个等式

log(2) = N*log(1.25)
N = log(2)/log(1.25)

N = 3.1 years

我认为至少它已经有一段时间了

如果你真的意味着你的利率是1.25%(而不是25%)你会改变你的公式

log(2) = N*log(1.0125)
N = log(2)/log(1.0125)
N = 55.79 years