How to Calculate Compound Interest in Python (3 Examples)

Compound interest in Python can be calculated by using the compound interest formula, which includes the principal amount, the interest rate, the time period, and the number of times the interest is compounded. This can be accomplished by using the math library and functions such as pow, or by writing a custom function which uses a loop to iterate the compound interest calculation. Three examples are provided in this article to demonstrate how to calculate compound interest in Python.


We can use the following compound interest formula to find the ending value of some investment after a certain amount of time:

A = P(1 + r/n)nt

where:

  • A: Final Amount
  • P: Initial Principal
  • r: Annual Interest Rate
  • n: Number of compounding periods per year
  • t: Number of years

We can use the following formula to calculate the ending value of some investment in Python:

P*(pow((1+r/n), n*t))

And we can use the following function to display the ending value of some investment at the end of each period:

def each_year(P, r, n, t):

    for period in range(t):
        amount = P*(pow((1+r/n), n*(period+1)))
        print('Period:', period+1, amount)

    return amount

The following examples show how to use these formulas in Python to calculate the ending value of investments in different scenarios.

Example 1: Compound Interest Formula with Annual Compounding

Suppose we invest $5,000 into an investment that compounds at 6% annually.

The following code shows how to calculate the ending value of this investment after 10 years:

#define principal, interest rate, compounding periods per year, and total years
P = 5000
r = .06
n = 1
t = 10

#calculate final amount
P*(pow((1+r/n), n*t))

8954.238482714272

This investment will be worth $8,954.24 after 10 years.

We can use the function we defined earlier to display the ending investment after each year during the 10-year period:

#display ending investment after each year during 10-year period
each_year(P, r, n, t)

Period: 1 5300.0
Period: 2 5618.000000000001
Period: 3 5955.08
Period: 4 6312.384800000002
Period: 5 6691.127888000002
Period: 6 7092.595561280002
Period: 7 7518.151294956803
Period: 8 7969.240372654212
Period: 9 8447.394795013464
Period: 10 8954.238482714272

This tells us:

  • The ending value after year 1 was $5,300.
  • The ending value after year 2 was $5,618.
  • The ending value after year 3 was $5,955.08.

And so on.

Example 2: Compound Interest Formula with Monthly Compounding

Suppose we invest $1,000 into an investment that compounds at 6% annually and is compounded on a monthly basis (12 times per year).

The following code shows how to calculate the ending value of this investment after 5 years:

#define principal, interest rate, compounding periods per year, and total years
P = 1000
r = .06
n = 12
t = 5

#calculate final amount
P*(pow((1+r/n), n*t))

1348.8501525493075

This investment will be worth $1,348.85 after 5 years.

Example 3: Compound Interest Formula with Daily Compounding

Suppose we invest $5,000 into an investment that compounds at 8% annually and is compounded on a daily basis (365 times per year).

The following code shows how to calculate the ending value of this investment after 15 years:

#define principal, interest rate, compounding periods per year, and total years
P = 5000
r = .08
n = 365
t = 15

#calculate final amount
P*(pow((1+r/n), n*t))

16598.40198554521

This investment will be worth $16,598.40 after 15 years.

The following tutorials explain how to perform other common tasks in Python:

x