A community for students.
Here's the question you clicked on:
 0 viewing
TuringTest
 3 years ago
Python: Why can't I insert print statements to debug this?
TuringTest
 3 years ago
Python: Why can't I insert print statements to debug this?

This Question is Closed

TuringTest
 3 years ago
Best ResponseYou've already chosen the best response.0balance = 320000 annualInterestRate = 0.2 epsilon=.01 low=balance/12.0 monthlyInterestRate=annualInterestRate/12.0 high=balance*(1+monthlyInterestRate)**12/12.0 payment=(high+low)/2.0 newBalance=balance while abs(balancenewBalance)>epsilon: newBalance=balance for count in range(12): newBalance=(newBalancepayment)*(1+monthlyInterestRate) if balance>newBalance: low=payment else: high=payment payment=(high+low)/2.0 print('Lowest Payment: '+str(round(payment, 2)))

TuringTest
 3 years ago
Best ResponseYou've already chosen the best response.0the output is coming out too high, but I can't debug it because it only will let me put print statements in at the end for some reason. I would like to put one up between lines 9 and 10 to track the balance, and another at the end to track payment. Any ideas?

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0Why can't you debug? I'm not too sure about Python nor the editor you are using, but if you want to do things like debug you will need a good IDE, which I also recommend. I'll take a look later to see if I find a mistake tho.

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0high=balance*(1+monthlyInterestRate)**12/12.0 what's this **?

KonradZuse
 3 years ago
Best ResponseYou've already chosen the best response.0Also I would surround by brackets if that is what should happen. (balance*(1+monthlyInterestRate)**12)/12?? I mean I shouldn't have to tell a math wizz like you that, so I'm assuming you did this on purpose, but who knows... that ** is something I'm more konfused about :P

TuringTest
 3 years ago
Best ResponseYou've already chosen the best response.0The program is to use bisection search to find the minimum monthly payment required to pay off some debt "balance" within one year . high=balance*(1+monthlyInterestRate)**12/12.0 this is the maximum yearly payment could be imagining we didn't pay off anything at any month and the interest accrues by a factor of 1+monthlyInterestRate each month, then the monthly payment is given by dividing by 12 months. And yeah, I tried the parentheses bit.

TuringTest
 3 years ago
Best ResponseYou've already chosen the best response.0** raises to a power btw

eSpeX
 3 years ago
Best ResponseYou've already chosen the best response.0IDE = Integrated Development Environment

TuringTest
 3 years ago
Best ResponseYou've already chosen the best response.0Problem solved, I had all sorts of horrible things going on. the worst being that I defined newBalance=balance at the beginning, so the next line while abs(balancenewBalance)>epsilon was never true, so the thing wasn't even running the body of the program :P I won't type the corrected program as it is an answer to the MITx thing, but I did get it :)
Ask your own question
Sign UpFind more explanations on OpenStudy
Your question is ready. Sign up for free to start getting answers.
spraguer
(Moderator)
5
→ View Detailed Profile
is replying to Can someone tell me what button the professor is hitting...
23
 Teamwork 19 Teammate
 Problem Solving 19 Hero
 Engagement 19 Mad Hatter
 You have blocked this person.
 ✔ You're a fan Checking fan status...
Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.