pmt = [0,0,0,0] #張均豪程式設計586設定串列list
pmt[0]=float(input('躉繳金額: '))#float函數轉化為實數(浮點數)
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)
心得
這學期我學習了 Python 與 HTML,並嘗試結合財金知識進行應用。透過 Python,我能處理計算報酬率,而 HTML 則讓我了解網頁架構,能將數據視覺化呈現在網站上。這樣的跨領域學習讓我感受到科技與財經結合的可能性,也激發我繼續往數據應用與自動化分析方向前進。
完整呈現Javascript, Python, EXCEL計算IRR.https://danny0976790127.blogspot.com/2025/06/pythonirr.html
回覆刪除