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