Я пытаюсь написать функцию (в Python 2.7), которая берет непогашенный остаток и годовую процентную ставку, а затем возвращает минимальный ежемесячный платеж до ближайшего цент с использованием поиска по биссектрису to solve problem #3. Я пытаюсь следовать принципам DRY, написав функцию внутри основной функции, которая должна возвращать список с балансом через год и количеством месяцев (цикл должен быть разорван, если баланс достигнет нуля или меньше), который нужно будет вычислить дважды в моей основной функции. Когда я пытаюсь проверить это начальное закрытие перед перемещением, я получаю синтаксическую ошибку в строке, назначая 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"))
О, черт возьми, так стыдно. Спасибо. –