2009年5月20日 星期三

Python 複利計算

都是同事問我複利計算,微積分早就還給老師了,不知公式如何,只好自個想啦!
Amt-定期定額
Rate-利率
Y1=Amt*(1+Rate)
Y2=(Y1+Amt)*(1+Rate)
Yn=(Yn-1+Amt)*(1+Rate)

Python sample 程式如下:
# Directory 解法
f={}
base=100
rate =0.05
f[1]=base*(1+rate)
i=1
for i in range(2,5):
f[i]=(f[i-1]+base)*(1+rate)

for key in f:
print key,f[key]

#Generator 解法
def f(first,n):
while True:
result= (first+100)*(1.05)
first=result
n=n+1
print n,first
yield first

base=100
rate =0.05
i=1
gh=f(0,0)
for i in range(1,5):
gh.next()


-------------------------------------------------

沒有留言: