Ask your own question, for FREE!
MIT 6.00 Intro Computer Science (OCW) 8 Online
OpenStudy (anonymous):

Hi folks, absolute beginner here trying out problem set 1. I've got the code for obtaining the basic information, and the code for the 4 relevant equations, but I can't figure out how to write the code to get the balance after month 1 to become the starting balance for month 2, etc.... can anybody help me with this?

OpenStudy (rsmith6559):

Probably, without seeing any code, just assign the balance after month 1 to whatever variable was the starting balance for month 1 and let it run.

OpenStudy (anonymous):

use a loop, modify the balance variable in the loop, on the next iteration (month) it will be the balance for the next month

OpenStudy (anonymous):

Thanks for the replies! I thought I tried to create a loop with the following code, but it just gives me the same values I get for Month 1 for months2-12. Any clue where I go wrong? Code: #Gets initial values for credit variables from user input bal = float(raw_input('Enter the outstanding balance on your credit card: ')) apr = float(raw_input('Enter the annual interest rate as a decimal: ')) mpr = float(raw_input('Enter the minimum monthly payment rate as a decimal: ')) #Basic equations that use input values to return the new balance minpay = mpr*bal intpaid = apr/12 *bal prinpaid = minpay - intpaid newbalance = bal - prinpaid m = 1 for m in range(1,13): print 'Month: ', m print 'Minimum monthly payment: ', minpay print 'Principle paid: ', prinpaid print 'Remaining balance: ', newbalance bal = newbalance

OpenStudy (anonymous):

That last bit should read, bal = newbalance, flush under the last print command...

OpenStudy (anonymous):

please use a code pasting site: - http://dpaste.com - http://pastebin.com - http://www.repl.it/ - http://pastie.org - http://codepad.org - http://ideone.com paste your code there and post the link here. select Python syntax highlighting when u paste.

OpenStudy (anonymous):

Oh ok, sorry about that!

OpenStudy (anonymous):

in your loop, what kind of statements are you executing? Are there any statements in the loop that modify bal or newbalance?

OpenStudy (anonymous):

when you think about this problem, what happens over and over again each month?

OpenStudy (anonymous):

all of the equations are calculated each month (save for 2), because they all involve a quantity that is changing from month to month--the balance. But I thought that if I wrote bal = newbalance, the next time it runs the loop for month two, it should give me the write result, since the bal for month 2 will now be factored into the variables I ask it to output, if that makes sense.

OpenStudy (anonymous):

... i don't see any calculations in the for loop, just print statements

OpenStudy (anonymous):

Ok, so if put the calculations in the loop and THEN put bal=newbalance, that will solve my problem?

OpenStudy (anonymous):

Thanks for taking the time to reply, btw...

OpenStudy (anonymous):

the calcs need to be in the loop. does mpr change every month or is it constant? "... THEN put bal=newbalance, ... " you could just use bal = bal - prinpaid

OpenStudy (anonymous):

mpr is constant... yeah, since i just started this stuff yesterday, i keep wanting to create a new variable every time that variable changes... i forget that bal = bal - prinpaid is a possibility

OpenStudy (anonymous):

Thanks so much for your help... i think I can get it to work with the info you gave me!

OpenStudy (anonymous):

Yay! it worked...

OpenStudy (anonymous):

If you're still here, how do I get python to show the return values with two and only decimal places (it's a float return)?

Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!
Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!