2016-11-25 10 views
0

未処理の残高と年間金利を受け取る関数(Python 2.7)を作成しようとしていますが、二分探索 to solve problem #3を使用して、私はDRYの原則に従って、1年後には天びんのリストを返さなければならないメイン関数の中に関数を書いて、2回計算する必要がある月数(ループがバランスヒットが0以下ならばループするはずです)私の主な機能です。移動前にこの最初の終了をテストしようとすると、monthlyPaymentを割り当てる行に構文エラーが発生します。私は間違って何をしていますか?無効な構文がPythonクロージャを書き込もうとしています

# Problem Set 1("C") 
# Time Spent: xx hours 

def payInOne_BisectionSearch (balance,annualRate): 
    #initialize variables 
    initialBalance = balance 
    monthlyRate = annualRate/12 
    minMonthly = balance/12 
    maxMonthly = (balance * (1 + monthlyRate ** 12)/12 
    monthlyPayment = (minMonthly + maxMonthly)/2 
    numMonths = 1 
    #define function to check balance after 12 months  
    def balanceAfterYear (balance, monthlyRate, monthlyPayment): 
     for numMonths in range (1,13): 
      interest = balance * monthlyRate 
      balance += interest - monthlyPayment 
      if balance <= 0: 
       break 
     return [balance, numMonths] 
    resultList = balanceAfterYear(initialBalance, monthlyRate, monthlyPayment) 
    print resultList[0],resultList[1] 


payInOne_BisectionSearch (input("Enter the outstanding balance"),input("Enter annual rate as a decimal")) 

答えて

1

前の行に閉じ括弧を忘れてしまった。

maxMonthly = (balance * (1 + monthlyRate ** 12)/12 
+0

ああ、私はとても恥ずかしいです。ありがとうございました。 –

関連する問題