所以我在这个循环中遇到了一些麻烦,我不会撒谎,而循环对我来说有点令人沮丧。
我需要这个,而循环要做的是当投资加倍时停止,当前投资设定为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()
答案 0 :(得分:1)
您的循环没问题,您的利率不是:1.25
与25%
相同。你想要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