財金程式設計588Python_Javascript網路執行_EXCEL_IRR二分法

pmt = [0,0,0,0] #賴嘉鎔程式設計586設定串列list pmt[0]=float(input('躉繳金額: ')) for nper in range(1,4): pmt[nper] = float(input('第'+str(nper)+'期回收: ')) def npv(rate): y = - pmt[0] for j in range(1,4): y = y + pmt[j]/(1+rate)**j return y a, b, gap, f = 0.0, 1.0, 9.0, 9.0 maxerror = 0.000001 loopNumber = 1 while (gap > maxerror and abs(f) > maxerror and loopNumber < 100): loopNumber+=1 c = (a+b)/2; f = npv(c); if ( abs(f) > maxerror and gap > maxerror): if ( f>0 ): a = c else: b = c gap = b-a; print('賴嘉鎔報酬率: ', c) print('賴嘉鎔淨現值: ', f) print('賴嘉鎔迴圈次數: ', loopNumber)
pmt = [0,0,0,0] #賴嘉鎔程式設計586設定串列list
pmt[0]=float(input('躉繳金額: '))
for nper in range(1,4):
    pmt[nper] = float(input('第'+str(nper)+'期回收: '))
def npv(rate):
    y = - pmt[0]
    for j in range(1,4):
        y = y + pmt[j]/(1+rate)**j
    return y
a, b, gap, f = 0.0, 1.0, 9.0, 9.0
maxerror = 0.000001
loopNumber = 1
while (gap > maxerror and abs(f) > maxerror and loopNumber < 100):
    loopNumber+=1
    c = (a+b)/2;
    f = npv(c);
    if ( abs(f) > maxerror and gap > maxerror):
        if ( f>0 ):
            a = c
        else:
           b = c
        gap = b-a;
print('賴嘉鎔報酬率: ', c)
print('賴嘉鎔淨現值: ', f)
print('賴嘉鎔迴圈次數: ', loopNumber)

心得

這學期我們在學的是網路程式語言JAVASCRIPT,也學會人工智慧,但使用最多的是PYTHON程式語言,我覺得不管是什麼程式都很難,上了這個學期終於了解到一點python要怎麼使用,還好現在網路發達,有很多的數據可以參考,不用自己慢慢研究,不會得上網找基本商都會有答案。

留言

這個網誌中的熱門文章

賴嘉鎔Javascript與Python比較

賴嘉鎔二分法求內部報酬率