Расчет размера платежа методом деления пополам в Python - PullRequest
0 голосов
/ 05 октября 2018

Я работал над этой проблемой для курса edX MIT.Цель задачи - рассчитать размер платежа за один год с учетом размера кредита и APY.Моя проблема в том, что мой ответ продолжает звучать слишком высоко.Я не совсем уверен, почему это так.Любая помощь будет принята с благодарностью.

Вот код:

b = float(input("balance = "))
r = float(input("annualInterestRate = "))
t = float(input("How many months do you want to take = "))
p = (b / t)
bval = []
new = b


def interest(b, r, p, t):

    bal = (b - p)
    max = (b * (1 + r / 12)**(12))/12
    min = (b / t)

    def update(bal, r):
        balance = (bal + (r / 12.0) * bal)
        return balance

    if len(bval) < t:
        bval.append(update(bal, r))
        return(interest(bval[-1], r, p, t))

    if (len(bval) == t):
        if bval[-1]< 10:
            return print(" Minimum payment: %i" % p)

        p = (max + min) / 2.0

        if bval[-1] < 0:
            min = bval[-1]
        elif bval[-1] > 0:
            max = bval[-1]

        bval.clear()
        bval.append(update((new - p), r))
        return(interest(bval[-1], r, p, t))

interest(b, r, p, t)

1 Ответ

0 голосов
/ 05 октября 2018

Может быть проблема с вашим порядком операций в макс.Возможно, вы захотите попробовать добавить круглые скобки около 1 + r, а затем разделить их на 12.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...