Hi, > Using python 7.3
I think we must update 'import antigravity' to say something about python-driven flux capacitors :รพ ... > def PaymentTable(balance, annualInterestRate, payment): You should not CamelCase function names. > upperbound = round((balance + (monthlyinterest * 12)) / 12, 0) Your error is because round() does not cast to int. It produces an integer number in a strict mathematical sense, but not as a data type. Use int() for that. > for payment in range(lowerbound, upperbound, 10): > if PaymentTable(balance, annualInterestRate, payment) == True: ####Error > occurs at this line > print 'Lowest Payment: ', payment > break A few notes about that. 1. You mentioned above that you use Python 7.3. As already said, I do not know what that is, because right now there is Python 2.x and 3.x. I assumed you meant 3.3, because that is widely used, but in that case, your print statement would not work. print() is a function, please get used to that. 2. Do not compare with True. Either the expression is True, or it is False. No need to be redundantly explicit ;). 3. There might be a more pythonic way to find the lowest payment. List comprehensions and min() come to mind; however, due to your naming conventions I do not fully understand what the code is supposed to find. Something called PaymentTable is supposed to return a table-like thing, not a boolean. Maybe you should get a bit more into detail about that (comment your code, for example ;)) and help us give you more hints on it. Cheers, Nik -- * mirabilos is handling my post-1990 smartphone * <mirabilos> Aaah, it vibrates! Wherefore art thou, demonic device?? PGP-Fingerprint: 3C9D 54A4 7575 C026 FB17 FD26 B79A 3C16 A0C4 F296
signature.asc
Description: Digital signature
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor