# 等额本息(均使用基准利率):每月偿还相同数额的贷款 # 贷款年限规定: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('请输入合法的期限') 这一次的房贷计算器运用到的方法和第一次的差不多,但多了一些步骤,并且在使用时考虑到了多个不同汇率的计算,再把他们融入到一块。要注意代码量,还有编写时的空格,需要细心一些。
python3:房贷计算器升级版
最新推荐文章于 2024-09-28 16:34:53 发布