题目要求:
房贷计算公式如下:
〉每月月供参考=贷款金额×[月利率×(1+月利率)^还款月数]÷{[(1+月利率)^还款月数]–1}>还款总额=每月月供参考×期限× 12
≥支付利息=还款总额–贷款金额×10000
以上计算方式中月利率(月利率=利率÷12))指以月为计息周期计算的利息。不同贷款类型的利率是不同的:对于商业贷款而言,五年以下(含五年)的贷款利率是4.75%,五年以上的贷款利率是4.90%;对于公积金贷款利率而言,五年以下(含五年)的贷款利率是2.75%,五年以上的利率是3.25%。
本案例要求编写程序,根据以上计算方式开发一个房贷计算器。
完整代码:
#核心计算公式def payment_loan(interest_rate,loan_amount,loan_period): monthly_interest_rate = interest_rate / 12 num_payments = loan_period * 12 monthly_payment = loan_amount * 10000 * (monthly_interest_rate * (1 + monthly_interest_rate) ** num_payments) / ( ((1 + monthly_interest_rate) ** num_payments) - 1) total_payment = monthly_payment * num_payments interest_payment = total_payment - loan_amount * 10000 return{ "monthly_payment":monthly_payment, "interest_payment":interest_payment, "total_payment":total_payment}#主函数def calculate_loan(): while True: payment={}; loan_type = input("请选择贷款类型:1.商业贷款 2.公积金贷款 3.组合贷款 0.退出:") if loan_type=="0": break; if loan_type == "1": #商业贷款计算 loan_amount = float(input("请输入贷款金额(万):")) loan_period = int(input("请输入贷款期限(年)5 10 15 20 25 30:")) interest_rate = 0.0475 if loan_period > 5: interest_rate = 0.049 payment=payment_loan(interest_rate, loan_amount, loan_period) elif loan_type == "2": #公积金贷款计算 loan_amount = float(input("请输入贷款金额(万):")) loan_period = int(input("请输入贷款期限(年)5 10 15 20 25 30:")) interest_rate = 0.0275 if loan_period > 5: interest_rate = 0.0325 payment=payment_loan(interest_rate, loan_amount, loan_period) elif loan_type == "3": # 混合贷款计算 loan_amount1 = float(input("请输入商业贷款金额(万):")) loan_amount2 = float(input("请输入公积金贷款金额(万):")) loan_period = int(input("请输入贷款期限(年)5 10 15 20 25 30:")) interest_rate = 0.0475 if loan_period > 5: interest_rate = 0.049 payment1 = payment_loan(interest_rate, loan_amount1, loan_period) interest_rate = 0.0275 if loan_period > 5: interest_rate = 0.0325 payment2=payment_loan(interest_rate, loan_amount2, loan_period) for key in payment1: payment[key]=payment1[key]+payment2[key] else: print("无效的贷款类型。") return #打印最终结果 print("每月月供参考:{:.2f} 元".format(payment["monthly_payment"])) print("支付利息:{:.2f} 元".format(payment["interest_payment"])) print("还款总额:{:.2f} 元".format(payment["total_payment"]))calculate_loan()
实现思路:
该代码实现了一个房贷计算器的功能。主要包括以下功能:
-
payment_loan(interest_rate, loan_amount, loan_period)
函数用于计算贷款的月供、支付利息和还款总额。它接受利率(interest_rate)、贷款金额(loan_amount)和贷款期限(loan_period)作为参数,并返回一个包含月供、支付利息和还款总额的字典。 -
calculate_loan()
函数是主函数,它通过循环让用户选择贷款类型并输入相应的信息,然后调用payment_loan()
函数计算相应的贷款信息。根据不同的贷款类型,选择不同的利率和贷款金额,最后将计算结果显示给用户。
-
如果选择贷款类型为 "1"(商业贷款)或 "2"(公积金贷款),则要求用户输入贷款金额和贷款期限,并根据贷款期限设置相应的利率。然后调用
payment_loan()
函数计算贷款信息,并将结果存储在payment
字典中。 -
如果选择贷款类型为 "3"(组合贷款),则要求用户分别输入商业贷款金额和公积金贷款金额,以及贷款期限。根据贷款期限设置相应的利率,分别调用
payment_loan()
函数计算商业贷款和公积金贷款的贷款信息,并将结果存储在payment1
和payment2
字典中。然后,将两个字典中对应键的值相加,并将合并后的结果存储在payment
字典中。
最后,根据计算得到的贷款信息,使用格式化字符串将每月月供、支付利息和还款总额输出给用户。
实际效果:
来源地址:https://blog.csdn.net/zhangawei123/article/details/130927869