title: Compound interest with deposits in Python
body: <p>I am working on an assignment for a comp sci class. I feel like I am really close but I cant quite get to the answer. Basically the assignment is a compound interest calculator, what I am trying to do that makes it more complicated is adding deposits to the initial investment and allowing for someone to stop paying into it at one point, but collect it at a different point. The example is ",   a   user    may already have<br>
  saved   $10,000 in  their   account when    they    start   their   retirement  calculation.    They    intend  to  save<br>
  another $1000   per year    for the next    10  years   at  which   point   they    will    stop    making  any additional<br>
  deposits    into    their   account.    However,    they    may be  20  years   away    from    retirement. Your    program 
  should  be  able    to  account for these   varying inputs  and calculate   the correct future  value   of  their<br>
  account at  retirement"</p>
  
  <p>Here is my code so far:</p>
  
  <pre><code>def main():
      print("Welcome to Letmeretire.com's financial retirement calculator!")
  
      import random
      num = random.randrange(10000)
  
      principal = int(input("How much are you starting with for your retirement savings?"))
      deposit = int(input("How much money do you plan to deposit each year?"))
      interest = int(input("How much interest will your account accrue annually"))
      time = int(input("Please enter the number of years that you plan to deposit money for."))
      time_till_retirement = int(input("How long until you plan on retiring? (Please enter this amount in years)"))
      t = time + 1
      APR = interest/100
      R = ((1+APR/12)**12)-1
      DR = deposit/R
      DRT = deposit/(R*(1+R)**time)
      PV = principal+(DR-DRT)
      future_value = PV*((1+APR/12)**12*time)
      if time &lt; time_till_retirement:
          time1 = (time_till_retirement-time)
          future = future_value*((1+APR/12)**12*time1)
      else:
          future = future_value
      for i in range(1, t):
          print("After " + str(i) + " years you will have "+ str(future) + " saved!")
  
  main()
  </code></pre>
  
  <p>I would like the output to look like this:</p>
  
  <pre><code>Enter   annual  deposit:    1000    
  Enter   interest    rate:   12  
  Enter   number  of  years   until   retirement: 10  
  What's  the current balance of  your    account:    5000    
  How many    years   will    you make    your    annual  deposit?    5   
  
  After   1   year,   you have:   $   6720.0  
  After   2   years,  you have:   $   8646.4  
  After   3   years,  you have:   $   10803.97    
  After   4   years,  you have:   $   13220.44    
  After   5   years,  you have:   $   15926.9 
  After   6   years,  you have:   $   17838.13    
  After   7   years,  you have:   $   19978.7 
  After   8   years,  you have:   $   22376.14    
  After   9   years,  you have:   $   25061.28    
  After   10  years,  you have:   $   28068.64    
  
  
  But what Im getting is this:
  
  Welcome to Letmeretire.com's financial retirement calculator!
  
  How much are you starting with for your retirement savings?5000
  
  How much money do you plan to deposit each year?1000
  
  How much interest will your account accrue annually12
  
  Please enter the number of years that you plan to deposit money for.5
  
  How long until you plan on retiring? (Please enter this amount in years)10
  
  
  After 1 years you will have 271235.9643776919 saved!
  
  After 2 years you will have 271235.9643776919 saved!
  
  After 3 years you will have 271235.9643776919 saved!
  
  After 4 years you will have 271235.9643776919 saved!
  
  After 5 years you will have 271235.9643776919 saved!
  </code></pre>