python3:房贷计算器升级版

# 等额本息(均使用基准利率):每月偿还相同数额的贷款
# 贷款年限规定:5,10,15,20,25
# 商业贷款利率:五年以下(包含五年)4.75%   五年以上4.9%
# 公积金利率:五年以下(包含五年)2.75%    五年以上3.25%
# 每月还款额=贷款本金*[月利率*(1+月利率)*还款月数]+{[(1+月利率)*还款月数]-1}
# 还款总额=每月月供参考*期限*12
# 支付利息=还款总额-贷款金额*10000
while True:
    loan_type=input('请选择贷款类型:1.商业贷款 2.公积金贷款 3.组合贷款\n')   # 选择贷款类型
    if loan_type!='3':                            # 当选择的类型不为组合贷款时
        loan_amount=float(input('请输入贷款金额(万):\n'))
        term=int(input('请选择期限(年):5,10,15,20,25:\n'))
        if term in [5,10,15,20,25]:       # 判断是否在这个期限列表内
            if loan_type=='1':            # 当贷款类型为商业贷款时
                if term ==5:               # 贷款期限为5年
                    mon_rate=4.75/100/12
                else:                            # 五年以上和以下月利率
                    mon_rate=4.9/100/12
                mon_pay=loan_amount*10000*(mon_rate*(1+mon_rate)**(term*12))/(((1+mon_rate)**(term*12))-1)   # 每月月供
                all_pay=mon_pay*term*12             # 还款总额
                interest=all_pay-loan_amount*10000   # 支付的本息
                print('每月月供参考(元):{:.2f}'.format(mon_pay))
                print('支付利息(元):{:.2f}'.format(interest))
                print('还款总额(元):{:.2f}'.format(all_pay))
            elif loan_type == '2':         # 当贷款类型为公积金贷款时
                if term ==5:
                    mon_rate=2.75/100/12
                else:
                    mon_rate=3.25/100/12       # 五年以上和五年以下的利率
                mon_pay=loan_amount*10000*(mon_rate*(1+mon_rate)**(term*12))/(((1+mon_rate)**(term*12))-1)   # 月供
                all_pay=mon_pay*term*12     # 以上述一样
                interest=all_pay-loan_amount*10000
                print('每月月供参考(元):{:.2f}'.format(mon_pay))
                print('支付利息(元):{:.2f}'.format(interest))
                print('还款总额(元):{:.2f}'.format(all_pay))
        else:
            print('请输入合法的期限')
    else:
        business_loan=float(input('请输入商业贷款金额(万):\n'))
        fund_loan=float(input('请输入公积金贷款金额(万):\n'))
        term=int(input('请选择期限(年):5,10,15,20,25:\n'))
        if term in [5,10,15,20,25]:    # 当贷款期限为5年时
            if term==5:
                business_mon_rate=rate=4.75/100/12
                fund_mon_rate=2.75/100/12
            else:
                business__mon_rate=4.9/100/12
                fund_mon_rate=3.25/100/12         # 对于商业贷款的利率计算和公积金利率
            business_mon_pay=business_loan*10000*(business_mon_rate*(1+business__mon_rate)**(term*12))/(((1+business_mon_rate)**(term*12))-1)   #商业贷款每月月供
            fund_mon_pay = fund_loan * 10000 * (fund_mon_rate * (1 + fund_mon_rate) ** (term * 12)) / (
            ((1 + fund_mon_rate) ** (term * 12)) - 1)         # 公积金贷款每月月供
            mon_all_pay=business_mon_pay+fund_mon_pay         # 总月供
            all_pay=mon_all_pay*term*12                # 本息总额
            interest=(all_pay-(business_loan+fund_loan))*10000
            print('每月月供参考(元):{:.2f}'.format(mon_all_pay))
            print('支付利息(元):{:.2f}'.format(interest))
            print('还款总额(元):{:.2f}'.format(all_pay))
        else:
            print('请输入合法的期限')
这一次的房贷计算器运用到的方法和第一次的差不多,但多了一些步骤,并且在使用时考虑到了多个不同汇率的计算,再把他们融入到一块。要注意代码量,还有编写时的空格,需要细心一些。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值