Comment calculer les frais mensuels sur un prêt?
donné est: p>
Ce problème est un peu différent de celui habituel depuis, l'objectif n'est pas de disposer du prêt payé après la fin de la période de prêt, mais de devoir toujours un montant donné. J'ai été en mesure de trouver un algorithme afin de résoudre le problème si je voulais payer tout le montant, mais ce ne sera bien sûr pas fonctionner pour ce problème lorsque l'objectif est de finir par un montant donné plutôt que de ne rien faire. P>
J'ai réussi à faire une solution à ce problème en commençant par une supposition, puis continuez à améliorer ce devinant jusqu'à ce qu'il soit assez proche. Je me suis demandé cependant, s'il y a un meilleur moyen de simplement calculer cela, plutôt que de simplement deviner. P>
Evolution est juste une fonction qui affiche comment le prêt ressemblerait à un paiement de paiement et d'intérêt pour les intérêts, résumant le montant total des intérêts payés, etc. P> un exemple Soyez si je voulais connaître les paiements mensuels pour un prêt à partir de 100 000 $ et se terminant à 50 000 dollars avec un intérêt de 8% et une durée de 70 mois, appelez P> >>> find_payment(100000, 50000, 70, 0.08)
payment is 1363
7 Réponses :
Vous pouvez continuer à payer l'intérêt de chaque mois; Ensuite, vous devrez toujours la même chose d'Amont.
Peut-être le moyen le plus simple de penser à cela est de scinder le prêt en deux parties, une partie à rembourser intégralement et une autre partie où vous ne payez rien. Vous avez déjà calculé les frais mensuels pour la première partie. P>
+1, exactement! L'équivalence comptable la plus simple dans les livres, vraiment.
Intelligent pour diviser le prêt en deux parties, n'a pas pensé à cela.
Ceci est fondamentalement un Calcul du remboursement hypothécaire .
En supposant que le démarrage est supérieur à la fin et que cet intérêt est compris entre 0 et 1 (c.-à-d. 0,1 pendant 10% d'intérêt de 10%) P>
Premièrement examiner la partie du paiement que vous souhaitez payer. P >
Start: 100000 End: 50000 Months: 70 Interest: 8% pay_a = 896.20 pay_b = 333.33 Payment = 1229.54
Code Python pour calculer EMI STRAND> class EMI_CALCULATOR(object):
# Data attributes
# Helps to calculate EMI
Loan_amount = None # assigning none values
Month_Payment = None # assigning none values
Interest_rate = None #assigning none values
Payment_period = None #assigning none values
def get_loan_amount(self):
#get the value of loan amount
self.Loan_amount = input("Enter The Loan amount(in rupees) :")
pass
def get_interest_rate(self):
# get the value of interest rate
self.Interest_rate = input("Enter The Interest rate(in percentage(%)) : ")
pass
def get_payment_period(self):
# get the payment period"
self.Payment_period = input("Enter The Payment period (in month): ")
pass
def calc_interest_rate(self):
# To calculate the interest rate"
self.get_interest_rate()
if self.Interest_rate > 1:
self.Interest_rate = (self.Interest_rate /100.0)
else:
print "You have not entered The interest rate correctly ,please try again "
pass
def calc_emi(self):
# To calculate the EMI"
try:
self.get_loan_amount() #input loan amount
self.get_payment_period() #input payment period
self.calc_interest_rate() #input interest rate and calculate the interest rate
except NameError:
print "You have not entered Loan amount (OR) payment period (OR) interest rate correctly,Please enter and try again. "
try:
self.Month_Payment = (self.Loan_amount*pow((self.Interest_rate/12)+1,
(self.Payment_period))*self.Interest_rate/12)/(pow(self.Interest_rate/12+1,
(self.Payment_period)) - 1)
except ZeroDivisionError:
print "ERROR!! ZERO DIVISION ERROR , Please enter The Interest rate correctly and Try again."
else:
print "Monthly Payment is : %r"%self.Month_Payment
pass
if __name__ == '__main__':# main method
Init = EMI_CALCULATOR() # creating instances
Init.calc_emi() #to calculate EMI
Ceci plutôt un moyen détaillé mais donnera tout le paiement tout aussi
# Mortgage Loan that gives the balance and total payment per year # Function that gives the monthly payment def f1 (principle,annual_interest_rate,duration): r = annual_interest_rate/1200 n = duration*12 a=principle*r*((1+r)**n) b= (((1+r)**n)- 1) if r > 0 : MonthlyPayment = (a/b) else : MonthlyPayment = principle/n return MonthlyPayment # Function that gives the balance def f2 (principle,annual_interest_rate,duration,number_of_payments): r = annual_interest_rate/1200 n = duration*12 a= ((1+r)**n) b= ((1+r)**number_of_payments) c= (((1+r)**n)-1) if r > 0 : RemainingLoanBalance = principle*((a-b)/c) else : RemainingLoanBalance = principle*(1-(number_of_payments/n)) return RemainingLoanBalance # Entering the required values principle=float(input("Enter loan amount: ")) annual_interest_rate=float(input("Enter annual interest rate (percent): ")) duration=int(input("Enter loan duration in years: ")) # Output that returns all useful data needed print ("LOAN AMOUNT:",principle,"INTEREST RATE (PERCENT):",annual_interest_rate) print ("DURATION (YEARS):",duration,"MONTHLY PAYMENT:",int(f1(principle,annual_interest_rate,duration))) k=duration+1 BALANCE=principle total=0 for i in range (1,k): TOTALPAYMENT= f1(BALANCE,annual_interest_rate,k-i)*12 total+= TOTALPAYMENT BALANCE= f2(principle,annual_interest_rate,duration,12*i) print("YEAR:",i,"BALANCE:",int(BALANCE),"TOTAL PAYMENT",int(total))
Que diriez-vous de cela?
Bienvenue dans le débordement de la pile! Merci pour ce code Snippet, qui peut fournir une aide immédiate. Une explication appropriée améliorerait considérablement sa valeur éducative en montrant pourquoi i> c'est une bonne solution au problème, et le rendrait plus utile pour les futurs lecteurs avec des questions similaires, mais pas identiques. S'il vous plaît Modifier Votre réponse Pour ajouter une explication et donner une indication de quelles limitations et hypothèses s'appliquent.
Voici un extrait de code à l'aide de fonctions numpées. Cela vous montre le paiement, le capital, l'intérêt, l'acompte et le montant total_amount chaque mois. Exécutez-le et voyez la sortie. Vous pouvez également vérifier la syntaxe pour Excel "ipmt ()" et "ppmt ()" fonctionne pour plus d'explication des arguments.
HTTPS: // DOCS. scipy.org/doc/numpy-1.13.0/Reference/Generated/numpy.pmt.html#numpy.pmt
Peut-être que si vous pouvez fournir votre solution de devinette, il devient plus clair sur ce que vous voulez faire.
N'est-ce pas juste une simple progression géométrique? en.wikipedia.org/wiki/geometric_progrresse
Quelle est la fonction "Evolution ()"? Où puis-je trouver cette fonction?