def calc_accrual(p, m, t, i):
t -= 1
p = p + (m * 12)
if p < 100000:
i += p * 0.0005
p *= 1.0005
elif p < 200000:
i += p * 0.0010
p *= 1.0010
elif p < 250000:
i += p * 0.0015
p *= 1.0015
elif p < 500000:
i += p * 0.0025
p *= 1.0025
elif p < 1000000:
i += p * 0.0040
p *= 1.0040
elif p < 2000000:
i += p * 0.0055
p *= 1.0055
elif p < 5000000:
i += p * 0.0060
p *= 1.0060
else:
i += p * 0.0070
p *= 1.0070
if t > 0:
return calc_accrual(p, m, t, i)
else:
return p, i
测验
:
>>> calc_accrual(10000, 10, 1, 0)
>>> (10125.06, 5.0600000000000005)
>>> calc_accrual(10000, 10, 1000, 0)
>>> (204357.25738374083, 74357.25738374837)