Please always reply-all so a copy goes to the list. We all participate and learn.

Would you also respond to my requests for clarified algorithm?

[email protected] wrote:
Hi Bob, Thanks for your input! I ran the program in IDLE and it worked just fine. Apparently my calculations were correct, although sloppy. Some very good points for me to consider;

Thanks for the acknowledgment.

Indentation. I felt for myself it was a bit more readable, but considering I'm new and the formatting may not survive other OS's, I plan on making those changes.

The use of the 1.041 for the interest rate. Here, as I'm not mathematically inclined I don't see the advantages, but I'll compare the program to yours to see how it works.

Your calculation was, in effect, principal = principal + principal * interest. Do you recall factoring in algebra?

principal = principal * (1 + interest). For me it is a little easier on the eyes and thinking to see the latter.

You could also do:

principal += principal * interest



Starting the count at 2 and eliminating the other if statements is a great simplification. It all seems a bit clearer in your rendition. Thanks again, Pat

On Feb 8, 2009, at 3:11 PM, bob gailer wrote:

principal = balance = 500000 # Starting fund amount.
interestRate = .05 # Interest rate added to the principal annually.
tuition = 34986 # Starting tuition fee
tuitionInc = 1.041 # The annual increase applied to the tuition.
print principal, "Is the starting principal" # This is to show the starting balance.
print tuition, "Is the starting tuition."
balance = principal - tuition
print balance," the amount remaining after first tuition deduction.  "
interest = balance * interestRate # calculates the amount added to the fund
print interest, "  Interest added to fund for one year. "
newBalance = balance + interest
print newBalance, "is the new balance."
count = 2 # keeps me informed on the number of students benefitting from this grant.
while principal > tuition:
 tuition *= tuitionInc # calculates the rising cost of tuition.
 if newBalance < tuition:
   print newBalance + interest
   newBalance = principal
   print principal," is the new balance. "
   interest = principal * interestRate
   print interest," is the new interest on the principal. "
   balance = principal + interest
   print balance,"is the new principal. "
 tuition *= tuitionInc # calculates the rising cost of tuition.
 print tuition," is the new cost of tuition. "
 principal = newBalance - tuition
 print principal," is the new balance. "
 interest = principal * interestRate
 print interest," is the new interest on the principal. "
 balance = principal + interest
 print balance, "is the new principal. "
 count = count + 1
 if tuition > principal:
   print principal + interest, "was available for the last student."
if count > 10:
print count, "Students used this grant."



--
Bob Gailer
Chapel Hill NC
919-636-4239
_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to