Python: schlauer Weg, um zu berechnen Kredit-Zahlungen

Wie berechnet sich die monatliche Gebühr auf ein Darlehen?

Gegeben ist:

  • ein: Betrag zu leihen.
  • b: das Darlehen Zeitraum (Anzahl der Monate).
  • c: der Zinssatz p.ein. (Interessen berechnet und Hinzugefügt jeden Monat 1/12 der Zinsen Hinzugefügt. Also, wenn die Zinsen auf 12%, 1% Zins monatlich).
  • d: die Höhe der Geld schuldete nach dem Ende der Periode.

Dieses problem ist ein bisschen anders als üblich, da das Ziel nicht ist, haben die Darlehen bezahlt, nachdem die Leihfrist abgelaufen ist, aber noch Schulden, ein Betrag, der gegeben wird. Ich konnte ein Algorithmus gefunden werden, damit das problem lösen, wenn ich wollte, den gesamten Betrag zu zahlen, aber es wird natürlich nicht funktionieren, für dieses problem, wo das Ziel ist, um am Ende wegen einer bestimmten Höhe eher als nicht wegen nichts.

Schaffte ich eine Lösung für dieses problem, indem beginnend mit einer Vermutung und dann weiter verbessern, denke mal bis es nahe genug war. Ich fragte mich jedoch, ob es einen besseren Weg, um einfach berechnen, anstatt nur zu raten.

Edit: Hier ist, wie mache ich es jetzt.

def find_payment(start, end, months, interest):
    difference = start
    guess = int(start / months * interest)
    while True:
        total = start
        for month in range(1, months + 1):
            ascribe = total * interest / 12
            total = total + ascribe - guess
        difference = total - end
        # See if the guess was good enough.
        if abs(difference) > start * 0.001:
            if difference < 0:
                if abs(difference) < guess:
                    print "payment is %s" % guess
                    return evolution(start, guess, interest, months)
                else:
                    mod = int(abs(difference) / start * guess)
                    if mod == 0:
                        mod = 1
                    guess -= mod
            else:
                mod = int(difference / start * guess)
                if mod == 0:
                    mod = 1
                guess += mod
        else:
            print "payment is %s" % guess
            return evolution(start, guess, interest, months)

evolution ist nur eine Funktion, die zeigt, wie der Kredit Aussehen würde, wie die Zahlung für die Zahlung und die Zinsen für Zinsen summieren, Gesamtbetrag der Zinsen etc. bezahlt.

Ein Beispiel wäre, wenn ich wollte, um herauszufinden, die monatlichen Zahlungen für ein Darlehen, beginnend mit $100k bis $50k mit einem Zinssatz von 8% und einer Dauer 70 Monate, Berufung

>>> find_payment(100000, 50000, 70, 0.08)
payment is 1363

Im obigen Fall würde ich am Ende aufgrund 49935, und ich ging durch die Schleife 5 mal. Die Höhe der Zeit benötigt, um die Schleife Durchlaufen, hängt davon ab, wie nah möchte ich den Betrag, und es variiert ein bisschen.

vielleicht, wenn Sie Ihre raten Lösung, es wird klarer, auf was Sie tun möchten.
dies ist nicht nur ein einfacher geometrischer progression? en.wikipedia.org/wiki/Geometric_progression
Was ist die Funktion "evolution" ()" zu tun? Wo finde ich diese Funktion?

InformationsquelleAutor googletorp | 2009-10-06

Schreibe einen Kommentar