Prob1c, RemainingBalance = (RemainingBalance*(1 + MonthlyRate)) - Payment Gives me 26956.44 for a monthly payment, but test case in handout shows 29643.05
please show your whole code
## 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)))
your formula to update the balance is wrong: RemainingBalance = (RemainingBalance*(1 + MonthlyRate)) - Payment payment needs to be subtracted before multiplication by 1+MonthlyRate
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.
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
?
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.
what are the inputs for balance and interest that you are trying to get the answer 29643.05 from?
Ah that's it, I was entering in .02 instead of .2 -- I did the program right. Thanks!
congrads lol
Join our real-time social learning platform and learn together with your friends!