Got Homework?
Connect with other students for help. It's a free community.
Here's the question you clicked on:
 0 viewing
TuringTest
Group Title
Python: Why can't I insert print statements to debug this?
 2 years ago
 2 years ago
TuringTest Group Title
Python: Why can't I insert print statements to debug this?
 2 years ago
 2 years ago

This Question is Closed

TuringTest Group TitleBest ResponseYou've already chosen the best response.0
balance = 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)))
 2 years ago

TuringTest Group TitleBest ResponseYou've already chosen the best response.0
the 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?
 2 years ago

KonradZuse Group TitleBest ResponseYou've already chosen the best response.0
Why 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.
 2 years ago

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

KonradZuse Group TitleBest ResponseYou've already chosen the best response.0
Also 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
 2 years ago

TuringTest Group TitleBest ResponseYou've already chosen the best response.0
The 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.
 2 years ago

TuringTest Group TitleBest ResponseYou've already chosen the best response.0
what is an IDE ?
 2 years ago

TuringTest Group TitleBest ResponseYou've already chosen the best response.0
** raises to a power btw
 2 years ago

eSpeX Group TitleBest ResponseYou've already chosen the best response.0
IDE = Integrated Development Environment
 2 years ago

TuringTest Group TitleBest ResponseYou've already chosen the best response.0
Problem 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 :)
 2 years ago
See more questions >>>
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.