Mathématiques financières, Python, simulateur, prêt hypothécaire, mensualité, tableau d'amortissement, prêt, remboursement, gestion des erreurs, codage
Ce dossier code un simulateur de prêt hypothécaire, avec comme calculs : calcul de la mensualité, génération du tableau d'amortissement, coût total du prêt, impact des remboursements supplémentaires, graphiques en utilisant des bibliothèques, comparaisons de prêts et gestion des erreurs.
[...] **Durée du Prêt en Années Spécifiez la période sur laquelle vous souhaitez rembourser votre prêt, en années. **Taux d'Intérêt Annuel Déterminez le taux d'intérêt annuel applicable à votre prêt. capital_user = float(input("Quel est le montant que vous souhaitez emprunter? duree_user = int(input("Sur combien d'années voulez-vous emprunter ? [...]
[...] Simulateur de prêt hypothécaire - Projet Python Réaliser un simulateur de prêt hypothécaire, avec comme calculs : calcul de la mensualité, génération du tableau d'amortissement, coût total du prêt, impact des remboursements supplémentaires, graphiques en utilisant des bibliothèques, comparaisons de prêts et gestion des erreurs. def calcul_mensualite(capital, taux_interet_annuel, duree_annees): Fonction qui permet de calculer le montant des mensualités (formule d'après le site https://images.math.cnrs.fr/Emprunts-mensualites-interet-taux-TEG-risque-de-taux) taux_interet_mensuel = taux_interet_annuel / 12 / 100 nombre_de_paiements = duree_annees * 12 mensualite = (capital * taux_interet_mensuel) / - + taux_interet_mensuel) -nombre_de_paiements) return mensualite def generer_tableau_amortissement(capital, taux_interet_annuel, duree_annees, paiements_supplementaires=[]): Cette fonction génère un tableau d'amortissement d'un prêt hypothécaire. [...]
[...] print(f"Le nouveau taux d'intérêt utilisé pour ce prêt est de {taux_annuel_user_2:.1f} tabl_amortissement_user_1,nb_mensualite_user=generer_tableau_amortissement(capital_user, taux_annuel_user, duree_user, paiements_supplementaires_user) cout_total_user_1=calcul_cout_total_pret(tabl_amortissement_user_1) tabl_amortissement_user_2,nb_mensualite_user=generer_tableau_amortissement(capital_user, taux_annuel_user_2, duree_user) cout_total_user_2=calcul_cout_total_pret(tabl_amortissement_user_2) ecart=cout_total_user_2-cout_total_user_1 print(f"Le coût total du nouveau prêt est de {cout_total_user_2:.2f} euros. [...]
[...] # Demande à l'utilisateur s'il souhaite effectuer des remboursements supplémentaires remboursements_supplementaires = input("Voulez-vous effectuer des remboursements supplémentaires ? (Oui/Non) ").lower() # Si la réponse est demande les détails des remboursements paiements_supplementaires_user = if remboursements_supplementaires nombre_paiements_supplementaires = int(input("Combien de paiements supplémentaires souhaitez-vous effectuer ? for i in range(nombre_paiements_supplementaires): mois = int(input(f"Mois du paiement supplémentaire + (nombre inférieur à {nb_mensualite_user:.2f}) : montant = float(input(f"Montant du paiement supplémentaire + : paiements_supplementaires_user[mois] = montant if remboursements_supplementaires print("Remboursements supplémentaires:") for mois, montant in paiements_supplementaires_user.items(): print(f"Mois {mois}: {montant}") ecart_tps_user, ecart_cout_user=impact_remboursement_supplementaire(capital_user,taux_annuel_user,duree_user,paiements_supplementaires_user) print(f"Avec ces rembourserments supplémentaires, vous gagnez {ecart_tps_user:.2f} mois de remboursement.") print(f"Avec ces rembourserments supplémentaires, vous gagnez {ecart_cout_user:.2f} euros sur le cout total du pret.") tabl_amortissement_user_suppl,nb_mensualite_suppl=generer_tableau_amortissement(capital_user,taux_annuel_user,duree_user,paiements_supplementaires_user) afficher_graphique(tabl_amortissement_user_suppl) **Comparaison entre 2 prêts:**: Comparons les données de coût et de temps entre le prêt précedement rentré par l'utilisateur et un autre que ce dernier va ré entrer (on ne joue ici que sur le taux d'intérêt) taux_annuel_user_2 = float(input("Quel est le nouveau taux annuel de votre emprunt ? [...]
[...] taux_annuel_user = float(input("Quel est le taux annuel de votre emprunt ? print(f"Vous souhaitez emprunter {capital_user:.1f} euros.") print(f"Vous souhaitez emprunter pendant {duree_user:.1f} ans.") print(f"Le taux d'intérêt utilisé pour ce prêt est de {taux_annuel_user:.1f} **Mensualité A partir des informations rentrées la mensualité est calculée # Calcul de la mensualité mensualite = calcul_mensualite(capital_user, taux_annuel_user, duree_user) # Affichage de la mensualité print(f"Votre mensualité estimée est de {mensualite:.2f} euros par mois.") **Tableau d'amortissement:** A partir des informations rentrées le tableau d'amortissement peut être obtenu tabl_amortissement_user,nb_mensualite_user=generer_tableau_amortissement(capital_user, taux_annuel_user, duree_user) tabl_amortissement_user cout_total_user=calcul_cout_total_pret(tabl_amortissement_user) print(f"Le coût total du prêt est de {cout_total_user:.2f} euros.") **Graphique d'évolution du solde restant du prêt hypotécaire:** afficher_graphique(tabl_amortissement_user) **Ajout éventuels de remboursements supplémentaires:**: L'ajout de remboursements supplémentaires lors d'un prêt hypothécaire présente des avantages significatifs, et il est particulièrement avantageux de les effectuer en début de prêt. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture