如何在python中循环到目标金额?



我对以下问题有困难,不确定我做错了什么。我的目标是计算出我需要多少个周期来对存款进行复利,使用循环来达到一个函数的目标存款金额,这个函数需要我创建三个参数。我已经包括了我下面的内容,但似乎无法得到我的周期数。

的例子:周期(1000,0.05,2000)-答案15其中d为初始存款,r为利率,t为目标金额。

new_deposit = 0
def periods (d,r,t):
while d*(1+r)<=t:
new_deposit = d*(1+r) - d
print(new_deposit)
return periods

我对这个很陌生,所以不知道我哪里错了。

你很接近了,但是你的return语句会抛出一个错误,因为你从来没有设置过periods


def periods(d,r,t):
count_periods = 1
current_ammount = d
while current_ammount*(1+r)<=t:
current_ammount = current_ammount*(1+r)
count_periods+=1
print(current_ammount)
return count_periods
print(periods(100, 0.01, 105))

我重命名了返回变量,以免与函数名本身重叠。

编辑:对不起,你的逻辑在整个代码中都是有缺陷的,重新写了一遍。

def periods(d, r, t):
p = 0
while d < t:
d *= (1 + r)
p += 1
return p
periods(100, .01, 105) # 5

最新更新