文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【Python】一个房贷计算器功能的小案例

2023-10-25 08:48

关注

题目要求:

房贷计算公式如下:
〉每月月供参考=贷款金额×[月利率×(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()

实现思路:

该代码实现了一个房贷计算器的功能。主要包括以下功能:

  1. payment_loan(interest_rate, loan_amount, loan_period) 函数用于计算贷款的月供、支付利息和还款总额。它接受利率(interest_rate)、贷款金额(loan_amount)和贷款期限(loan_period)作为参数,并返回一个包含月供、支付利息和还款总额的字典。

  2. calculate_loan() 函数是主函数,它通过循环让用户选择贷款类型并输入相应的信息,然后调用 payment_loan() 函数计算相应的贷款信息。根据不同的贷款类型,选择不同的利率和贷款金额,最后将计算结果显示给用户。

最后,根据计算得到的贷款信息,使用格式化字符串将每月月供、支付利息和还款总额输出给用户。

实际效果:

 

 

 

来源地址:https://blog.csdn.net/zhangawei123/article/details/130927869

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯