攤銷表 (Amortization Table) 其實就是分期付款的賬戶明細表,其中列出了一段時間內分期付款的每期常規付款狀況。每筆付款的一部分將用於償還本金餘額,而另一部分則是利息。
攤銷表將詳細列出此分期付款賬戶每期付款的每一部分金額。
編寫一個程式,由使用者輸入貸款金額、期限、以及利率,而後以表格形式列印出攤銷表。
# Amortization Table
loan = float(input("Your loan amount: "))
term = int(input("Term in months: "))
intp = float(input("Interest Rate (in %): "))
int = intp / 100
payment = loan * ((int/12) * (1 + int/12) ** term) / ((1 + int/12) ** term - 1)
print()
print(" "," Initial "," "," "," "," Ending")
print(" "," Balance "," Payment "," Interest "," Principal "," Balance")
print(" ","---------- ","---------- ","---------- ","---------- ","----------")
end_balance = loan
total_payment = 0
total_interest = 0
total_principal = 0
for n in range(1,term+1):
ini_balance = end_balance
interest_pmt = ini_balance * (int/12)
principal_pmt = payment - interest_pmt
end_balance = ini_balance - principal_pmt
total_payment += payment
total_interest += interest_pmt
total_principal += principal_pmt
print("{:3d} ${:10,.2f} ${:10,.2f} ${:10,.2f} ${:10,.2f} ${:10,.2f}"
.format(n,ini_balance,payment,interest_pmt,principal_pmt,end_balance))
print()
print("Total Payment in {:3d} Months = ${:,.2f}".format(term,total_payment))
print("Total Interest Paid = ${:,.2f} | Total Principal Paid = ${:,.2f}"
.format(total_interest,total_principal))
|
在此示例中,我們以貸款額 (loan amount) 30000,期限 (term) 36 (月),利率 (interest rate) 2.9 (%) 為例,得出的攤銷表如下
Your loan amount: 30000
Term in months: 36
Interest Rate (in %): 2.9
Initial
Ending
Balance Payment
Interest Principal Balance
---------- ----------
---------- ---------- ----------
1 $ 30,000.00 $ 871.11 $ 72.50 $ 798.61 $ 29,201.39
2 $ 29,201.39 $ 871.11 $ 70.57 $ 800.54 $ 28,400.84
3 $ 28,400.84 $ 871.11 $ 68.64 $ 802.48 $ 27,598.36
4 $ 27,598.36 $ 871.11 $ 66.70 $ 804.42 $ 26,793.94
5 $ 26,793.94 $ 871.11 $ 64.75 $ 806.36 $ 25,987.58
6 $ 25,987.58 $ 871.11 $ 62.80 $ 808.31 $ 25,179.27
7 $ 25,179.27 $ 871.11 $ 60.85 $ 810.26 $ 24,369.00
8 $ 24,369.00 $ 871.11 $ 58.89 $ 812.22 $ 23,556.78
9 $ 23,556.78 $ 871.11 $ 56.93 $ 814.19 $ 22,742.59
10 $ 22,742.59 $ 871.11 $ 54.96 $ 816.15 $ 21,926.44
11 $ 21,926.44 $ 871.11 $ 52.99 $ 818.13 $ 21,108.31
12 $ 21,108.31 $ 871.11 $ 51.01 $ 820.10 $ 20,288.21
13 $ 20,288.21 $ 871.11 $ 49.03 $ 822.08 $ 19,466.13
14 $ 19,466.13 $ 871.11 $ 47.04 $ 824.07 $ 18,642.06
15 $ 18,642.06 $ 871.11 $ 45.05 $ 826.06 $ 17,815.99
16 $ 17,815.99 $ 871.11 $ 43.06 $ 828.06 $ 16,987.93
17 $ 16,987.93 $ 871.11 $ 41.05 $ 830.06 $ 16,157.87
18 $ 16,157.87 $ 871.11 $ 39.05 $ 832.07 $ 15,325.81
19 $ 15,325.81 $ 871.11 $ 37.04 $ 834.08 $ 14,491.73
20 $ 14,491.73 $ 871.11 $ 35.02 $ 836.09 $ 13,655.63
21 $ 13,655.63 $ 871.11 $ 33.00 $ 838.11 $ 12,817.52
22 $ 12,817.52 $ 871.11 $ 30.98 $ 840.14 $ 11,977.38
23 $ 11,977.38 $ 871.11 $ 28.95 $ 842.17 $ 11,135.21
24 $ 11,135.21 $ 871.11 $ 26.91 $ 844.20 $ 10,291.01
25 $ 10,291.01 $ 871.11 $ 24.87 $ 846.24 $ 9,444.76
26 $ 9,444.76 $ 871.11 $ 22.82 $ 848.29 $ 8,596.47
27 $ 8,596.47 $ 871.11 $ 20.77 $ 850.34 $ 7,746.13
28 $ 7,746.13 $ 871.11 $ 18.72 $ 852.39 $ 6,893.74
29 $ 6,893.74 $ 871.11 $ 16.66 $ 854.45 $ 6,039.28
30 $ 6,039.28 $ 871.11 $ 14.59 $ 856.52 $ 5,182.76
31 $ 5,182.76 $ 871.11 $ 12.53 $ 858.59 $ 4,324.17
32 $ 4,324.17 $ 871.11 $ 10.45 $ 860.66 $ 3,463.51
33 $ 3,463.51 $ 871.11 $ 8.37 $ 862.74 $ 2,600.76
34 $ 2,600.76 $ 871.11 $ 6.29 $ 864.83 $ 1,735.93
35 $ 1,735.93 $ 871.11 $ 4.20 $ 866.92 $ 869.01
36 $ 869.01 $ 871.11 $ 2.10 $ 869.01 $ 0.00
Total Payment in 36 Months = $31,360.13
Total Interest Paid = $1,360.13 | Total Principal Paid = $30,000.00
|
|
|