我在在线课程(Python 入门)中遇到了一些问题。从本质上讲,我们被告知在给定余额和年利率的情况下,使用二分搜索来找到每月清除债务的最低固定付款(四舍五入到最接近的 0.01 美元)。我的解决方案在上传到他们的在线评分器时,只给了我这个错误:
“运行您的解决方案时出现问题。我们无法运行您的解决方案。”
我可能处于无限循环中吗?如果是这样,我不太明白怎么做。原始代码贴在下面。感谢大家花时间阅读本文!
MonthlyInterestRate = annualInterestRate/12
month = 1
LB = balance/12
UB = balance*(2.7/12)
check = balance
while abs(balance) > 10:
payment = (LB + UB)/2
while month <= 12:
balance = (balance - payment)*(1 + MonthlyInterestRate)
month = month + 1
if balance > 10:
LB = payment
balance = check
elif balance < -10:
UB = payment
balance = check
else:
print('Lowest Payment: ' + str(payment))
break