minimunpaymonth = 0
balance = 4773
annualInterestRate = 0.2
def function(minimunpaymonth):
global balance
month = 1
while month <= 12:
balance = balance - minimunpaymonth
anninterest = annualInterestRate/12 * balance
balance = balance + anninterest
month += 1
return balance
while function(minimunpaymonth) >= 0:
minimunpaymonth += 10
print "Lowest Payment: " + str(minimunpaymonth)
第二while循環是無限的,我不知道爲什麼。第一是確定的,因爲我已經跑了爲什麼我的代碼無限循環?
當環路增加minimunpaymonth,平衡的價值下降,這樣就會有一個時刻,當餘額爲負值
def function(minimunpaymonth, balance, annualInterestRate):
month = 1
while month <= 12:
balance = balance - minimunpaymonth
anninterest = annualInterestRate/12 * balance
balance = balance + anninterest
month += 1
return balance
while function(minimunpaymonth, balance, annualInterestRate) >= 0:
minimunpaymonth += 10
print "Lowest Payment: " + str(minimunpaymonth)
好,我只是解決了這個問題。我改變函數給3個參數,而不是1
提示:'minimunpaymonth'從0開始。它在循環中上升還是下降? –
在'function'中加入'print'語句來檢查'balance'的值。然後檢查該值是否正確。 – unutbu