9
9
10
10
import pandas as pd
11
11
12
+
12
13
def payment (principal : float , interest_rate : float , payments : int ) -> float :
13
14
"""
14
15
Calculate the monthly payment for a loan.
@@ -36,7 +37,10 @@ def payment(principal: float, interest_rate: float, payments: int) -> float:
36
37
37
38
return payment
38
39
39
- def amortization_table (principal : float , interest_rate : float , years : int ) -> pd .DataFrame :
40
+
41
+ def amortization_table (
42
+ principal : float , interest_rate : float , years : int
43
+ ) -> pd .DataFrame :
40
44
"""
41
45
Create an amortization table for a loan.
42
46
@@ -75,7 +79,12 @@ def amortization_table(principal: float, interest_rate: float, years: int) -> pd
75
79
payments = years * 12
76
80
interest_rate /= 12
77
81
payment_amount = payment (principal , interest_rate , payments )
78
- df = pd .DataFrame (index = range (0 , payments + 1 ), columns = ["Payment" , "Principal" , "Interest" , "Remaining" ], dtype = "float" , data = 0 )
82
+ df = pd .DataFrame (
83
+ index = range (0 , payments + 1 ),
84
+ columns = ["Payment" , "Principal" , "Interest" , "Remaining" ],
85
+ dtype = "float" ,
86
+ data = 0 ,
87
+ )
79
88
80
89
df ["Payment" ][1 :] = payment_amount
81
90
df ["Remaining" ][0 ] = principal
@@ -89,8 +98,7 @@ def amortization_table(principal: float, interest_rate: float, years: int) -> pd
89
98
return df
90
99
91
100
92
-
93
101
if __name__ == "__main__" :
94
102
import doctest
95
103
96
- doctest .testmod ()
104
+ doctest .testmod ()
0 commit comments