## shawnf 3 years ago Prob1c, RemainingBalance = (RemainingBalance*(1 + MonthlyRate)) - Payment Gives me 26956.44 for a monthly payment, but test case in handout shows 29643.05

1. TuringTest

2. shawnf

## a credit card program that calculates the minimum fixed monthly payment needed in order to pay off a credit card balance within 12 months. ## this more complicated version uses a bisection search method and upper and lower bounds InitialBalance = float(raw_input('What is the outstanding balance?')) apr = float(raw_input('What is the annual interest rate?')) MonthlyRate = apr/12.0 PaymentLow = InitialBalance/12.0 PaymentHigh = (InitialBalance * (1 + MonthlyRate)**12.0)/12.0 Payment = (PaymentLow + PaymentHigh)/2.0 RemainingBalance = InitialBalance while ((RemainingBalance > 0.010) or (RemainingBalance < -0.010)): RemainingBalance = InitialBalance for i in range(12): RemainingBalance = (RemainingBalance*(1 + MonthlyRate)) - Payment if RemainingBalance > 0.010: PaymentLow = Payment Payment = (Payment + PaymentHigh)/2.0 if RemainingBalance < -0.010: PaymentHigh = Payment Payment = (Payment + PaymentLow)/2.0 print ('Monthly payment to pay off debt in 1 year: ' + str(round(Payment,2))) print ('Balance: ' + str(round(RemainingBalance,2)))

3. TuringTest

your formula to update the balance is wrong: RemainingBalance = (RemainingBalance*(1 + MonthlyRate)) - Payment payment needs to be subtracted before multiplication by 1+MonthlyRate

4. shawnf

I don't think that's correct. If you look at the handout ( http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/unit-1/lecture-4-machine-interpretation-of-a-program/MIT6_00SCS11_ps1.pdf) I'm using the same formula.

5. TuringTest

that link is not working for me, but I did the same problem once on OCW and once for edX so I think mine is right did you try it to see if you get the right answer

6. TuringTest

?

7. shawnf

No it doesn't give the correct answer and it doesn't jive with interest payments. The interest accrues and then you pay off the interest plus a portion of the principle. I also checked my answer in excel and it is correct.

8. TuringTest

what are the inputs for balance and interest that you are trying to get the answer 29643.05 from?

9. shawnf

Ah that's it, I was entering in .02 instead of .2 -- I did the program right. Thanks!

10. TuringTest