gpt4 book ai didi

计算复利百分比的Python函数

转载 作者:行者123 更新时间:2023-12-02 19:03:56 26 4
gpt4 key购买 nike

我是编程新手,所以任何有经验的程序员都可能能够轻松回答这个问题。

我正在尝试编写一个 Python 函数,它会告诉我需要多少百分比的复利才能最终得到特定的总和。例如,如果我存入 100 美元,经过 17 年的复利后,我有 155 美元,该函数将告诉我收到的利息百分比是多少。我编写了以下函数,“开始”是原始存入的金额,“完成”是我最终得到的金额,“年”是应计利息的年数。我设计它以小数点形式给出结果,例如 1.5% 将显示 0.015。

这是我编写的代码:

def calculate(start, finish, years):
num = start
percentage = 0
while num < finish:
percentage += 0.000001
for year in range(years):
num += num * percentage
return percentage

print(calculate(12000, 55000, 100))

它给出的输出为 0.00017499999999999962(即 0.017499999999999962%),这是完全错误的。

我不明白我哪里出了问题。

最佳答案

每次猜测百分比后,您都需要重置num=start

def calculate(start, finish, years):
num = start
percentage = 0
while num < finish:
num = start
percentage += 0.000001
for year in range(years):
num += num * percentage
return percentage

print(calculate(12000, 55000, 100))

但是,您最好通过简单地重新排列复利公式来解决此问题:

A=P*(1+r/n)^(nt) 

(其中,A = 最终余额,P = 初始余额,r = 利率,n =每个时间段应用利息的次数,t = 已过去的时间段数。)

重新排列后得到:

r=n((A/P)^(1/nt)-1)

并将其放入 python 中可以得到:

def calculate(start, finish, years):
num = ((finish / start)**(1/years))-1
return num

print(calculate(12000.0, 55000.0, 100.0))

这给出了预期的结果。

关于计算复利百分比的Python函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65312798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com