Here's the question you clicked on:
minimallinux
I seem to be missing something in pset2 see code balance = 4213 annualInterestRate = 0.2 monthlyPaymentRate = 0.04 mmp = monthlyPaymentRate*balance m = 1 while(m <=12): print 'Month: ', m m += 1 print 'Minimum monthly payment: ',round(mmp,2) balance = (balance - mmp)*(1 + monthlyPaymentRate) mmp = monthlyPaymentRate*balance print 'Remaining balance: ',round(balance,2) It's first attempt, doesn't match the test case for reduction in values in fact it seems a draconian rate, i cant see why. Thanks
Two things that will help you. First and most importantly, when you're not comfortable with the math that you're going to be doing, comment the heck out of it. That will help you check that you're code is doing exactly what you intended. Second, for debugging, print the answer after each calculation to make sure that things are progressing just as you expect.
balance = (balance - mmp)*(1 + monthlyPaymentRate) ^^^^ why is this MPR? shouldn't it be monthly interest rate?
That, and you need a total paid variable to keep track of, along with the print statements at the end for final balance and total paid.
it would help if you posted the original formula from the problem.
Its using the basic formula provided, but doesn't seem to work balance = (balance - mmp)*(1 + monthlyPaymentRate) is supposed to be the new balance after removing the payment and adding interest @Turing Test, yes that is the monthly interest rate
I would suggest solving the problem in paper first and understand how to reach to a solution. Then use programming to help you get the solution faster. In my opinion. you have not fully understood the problem judging by your code. If you solve it in paper, it should be straight forward to code it! *Note the the rest, as I have mentioned to other posts... since the deadline for the exercise has not passed, we should not be providing full solutions in here! Just something to remember!
It prints out in the format required but the maths is not correct. Even if I separate the monthly payment subtraction from the preceding balance and the adding on of interest it is still not right.
If the maths are not correct, then you need to revisit the problem on paper. Forget programming for the moment and focus on understanding and solving the problem. There are tips and instructions on the problem set page to help you get started!
There must be one of my variables I have calculated wrongly, as the others are preset. This must be the mmp which I have as = monthlyPaymentRate*balance
Which of the 3 exercises in problem set 2 are you stuck?
The 1st one, paying the minimum.
As described on the page of the problem: To help you get started, here is a rough outline of the stages you should probably follow in writing your code: For each month: - Compute the monthly payment, based on the previous month’s balance. - Update the outstanding balance by removing the payment, then charging interest on the result. - Output the month, the minimum monthly payment and the remaining balance. - Keep track of the total amount of paid over all the past months so far. Print out the result statement with the total amount paid and the remaining balance. Use these ideas to guide the creation of your code. These are step by step instructions on how to approach the problem! Let me know if you have any issues!
balance = (balance - mmp)*(1 + monthlyPaymentRate) that is incorrect.
Not according to this
you should look very carefully at the pic that you posted and the line that medisynergi posted
So monthlyPaymentRate and monthly InterestRate are not the same ?
read the problem instructions/specifications again
One is interest rate on the amount owed, the payment rate is the monthly instalment!
so it should be monthlyInterestRate and be set at 18/12
0.18/12 what is 18? interest rate is a percentage!
exactly... 18% = 18/100 = 0.18, not 18
It's still wrong though while(m <=12): print 'Month: ', m m += 1 print 'Minimum monthly payment: ',round(mmp,2) balance = (balance - mmp)*(1 + 0.18/12) paid = mmp + paid print 'Total paid: ',paid mmp = monthlyPaymentRate*balance print 'Remaining balance: ',round(balance,2) Can't seem to get it
Do you have a solution in paper? It seems that you don't!
No its wrong on paper too, I'm not getting right the subtraction of mmp and the subsequent adding of the compound interest. Back to the drawing board. (I haven't done maths for well over 30 years so need a little slack here. I've also only tried Python for 2-3 weeks)
Not trying to agitate you... Just suggesting that you should take a step back and think the solution of the problem on paper first with small steps.
I finally got it right ! Passed grader, I was very close all the time but I didn't use the annualInterestRate in the balance calculation/12 (for monthly interest) You are right though, I am rushing without thinking too much at all. Thanks again.
Not a problem... we are always here to help but the more you try the better for you!