高橋拓士Python與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 maxerror and gap > maxerror): if ( f>0 ): a = c else: b = c gap = b-a; print('報酬率: ', c) print('淨現值: ', f) print('迴圈次數: ', loopNumber) 心得 寫程式就像解謎,一步步拆解問題,找到解法。一開始會很難,但越寫越懂,像學騎腳踏車一樣。出錯是學習的一部分,錯誤不代表失敗,而是發現問題的機會。成功跑出結果時真的很爽,很像通關的感覺。