[Python]等额本息房贷计算器
等额本息还款法:
每月月供额=〔贷款本金×月利率×(1+月利率)^还款月数〕÷〔(1+月利率)^还款月数-1〕
每月应还利息=贷款本金×月利率×〔(1+月利率)^还款月数-(1+月利率)^(还款月序号-1)〕÷〔(1+月利率)^还款月数-1〕
每月应还本金=贷款本金×月利率×(1+月利率)^(还款月序号-1)÷〔(1+月利率)^还款月数-1〕
总利息=还款月数×每月月供额-贷款本金
比如贷款200万,年贷款利率4.9%,贷款期限30年
根据等额本息,算出每个月还贷10614.53,贷款200万,还了182.12万的利息
第一个月还的10614.53中,8166.67还的是利息,2447.87还的是本金
第二月还了8156.67的利息,2457.86的本金
以此类推
运行结果
代码如下
def monthlyPayment(principal, year_rate, year_duration):monthly_rate = year_rate / (12 * 100) # convert 4.9 to 0.049 and monthly interest ratemonth_amounts = year_duration * 12# 每月月供monthly_payment = (principal * monthly_rate * (1 + monthly_rate) ** month_amounts) / ((1 + monthly_rate) ** month_amounts - 1)#总利息total_interest_payable = monthly_payment * month_amounts - principalprint('-----------------------------------')print ('Total interest payable is %.2f ' % total_interest_payable)for i in range (1, month_amounts + 1):#每月应还利息monthly_interest_payable = principal * monthly_rate * ((1 + monthly_rate) ** month_amounts - (1 + monthly_rate) ** (i - 1 ))/ ((1 + monthly_rate) ** month_amounts -1)#每月应还本金monthly_principal_payable = principal * monthly_rate * (1 + monthly_rate) ** (i - 1)/ ((1 + monthly_rate) ** month_amounts -1)#每月利息占比monthly_interest_percentage = monthly_interest_payable * 100 / monthly_paymentprint('-----------------------------------')print ('%dth monthly payment is : %.2f (Interest: %.2f and Principal: %.2f)' % (i, monthly_payment,monthly_interest_payable,monthly_principal_payable))print('%dth month interest percentage is %.2f %%' % (i,monthly_interest_percentage))returnif __name__ == '__main__':principal = int(input('Please input your loan amounts:'))year_rate = float(input('Please input Year Debt Interest Rate:(such as 4.9,it means 4.9%)'))year_duration = int(input('Please input Debt Year Duration:'))monthlyPayment(principal, year_rate, year_duration)
根据等额本息法公式可以计算出每月还款,具体每月还款里面,多少是利息,多少是本金,除了用之前的公式,还可以用下面的方法考虑
还是用上面的例子 ,贷款200万,年贷款利率4.9%,贷款期限30年,等额本息每个月需还贷10614.53
第一个月房贷里还的利息是2,000,000×(4.9%/12)= 8166.67
得出第一个房贷还的本金是 10614.53 - 8166.67 = 2447.87
剩余总本金为2,000,000-2447.87 = 1,997,552.13
---------------------------------------------------------------------
第二个月房贷需要还的利息为:剩余总本金×月利息:1,997,552.13 ×(4.9%/12) = 8156.67
第二个月房贷还的本金是10614.53 - 8156.67 = 2457.86
剩余总本金为1,997,552.131-2457.87 = 1,995,094.26
----------------------------------------------------------------------
第三个月房贷需要还的利息为:为剩余总本金×月利息:1,995,094.26 ×(4.9%/12) = 8146.63
第三个月房贷还的本金是10614.53 - 8146.63 = 2467.89
剩余总本金为1,995,094.26-2467.89= 1,992,626.37
以此类推
转载于:https://www.cnblogs.com/FiaFia/p/8580414.html
[Python]等额本息房贷计算器相关推荐
- python计算本息总和_[Python]等额本息房贷计算器
等额本息还款法: 每月月供额=[贷款本金×月利率×(1+月利率)^还款月数]÷[(1+月利率)^还款月数-1] 每月应还利息=贷款本金×月利率×[(1+月利率)^还款月数-(1+月利率)^(还款月序号 ...
- python等额本息和等额本金_用Python解读房贷利率,要不要看随你
可能很多买过房.贷过款的朋友大概都知道怎么回事,但是我相信大部分人也没细研究过,而绝大部分人买房时更是任由房屋中介摆布,因为给了中介费相信他们可以算的明明白白,自己也就不过多深究了.但我觉得买房不是小 ...
- python入门第二章房贷计算器 打印五子棋棋盘 猜数字 计数器 逢七拍手游戏
# 等额本息(均使用基准利率) # 组合贷可作为课后习题 # 商业贷款利率:4.9% # 公积金利率:3.25%# 每月还款额=贷款本金×[月利率×(1+月利率) ^ 还款月数]÷{[(1+月利率) ...
- python 小工具 之 房贷计算器
一.房贷贷款月供计算公式: 等额本息计算公式:[贷款本金 × 月利率 × (1 +月利率)^还款月数] ÷ [(1 +月利率)^还款月数 - 1 ] 等额本金计算公式:每月还款金额 = (贷款本金 / ...
- 等额本金和等额本息房贷公式推导
去年利率调整比较频繁,我家贷款又多,以往不太关心房贷公式的,银行账单来了是多少就多少.现在为了要看懂账单,研究了一下房贷公式,把自己的理解记录一下.因为用到了数学公式,博客里直接输有问题,就在 Wor ...
- 等额本金.等额本息.房贷计算
<?phpfunction debx(){$dkm = 12; //贷款月数,20年就是240个月$dkTotal = 2000; //贷款总额$dknl = 0.049; //贷款年利率$em ...
- 房贷利率有无套路?Python解读“等额本金与等额本息”的差异所在
作者 | xiaoyu 来源 | Python数据科学 很多朋友留言说不知道房贷利率的不同归还方式是不是有套路,内心深表疑虑.我的第一反应是因为房贷很高,大家看到消费分期的套路自然而然就想到了房贷,很 ...
- Java实现:房贷计算器 (关键词:公积金、首付、等额本息、等额本金)
1 背景:房贷计算器 目前现有的网页 房贷计算器,多多少少有点不符合自己需求,因此根据房贷相关公式及 java编写一个贷款计算器现有代码,改写了符合自己要求的 房贷计算器 . 计算结果精度为小数点后2 ...
- 财商训练(01)————等额本息和等额本金房贷的区别
文章目录 01 等额本息 每月还款数额计算公式 案例分析: 02 等额本金 每月还款额度计算公式 案例分析 03 计算工具 04 Python实现 01 等额本息 每月还款数额计算公式 M=P×R×( ...
最新文章
- Windows下安装Redis服务
- 讨论Markov Random Field和Gibbs Random Field心得
- 制造型企业如何降低成本提升核心竞争力
- keytool生成证书_创建自签名ssl证书,Java生产jks证书
- 函数在机器底层是如何实现的_智能货柜专题三:如何实现不同机器“千机千面”?...
- [ solr入门 ] - 利用solrJ进行检索
- 每日一题:leetcode90.子集贰
- 前后端分离使用 Token 登录解决方案
- php isoptional,entity-framework – 实体框架7 Fluent API无法识别IsOptional()
- 队列,管道,manager模块
- vscode打开一个文件就会关闭一个文件
- excel粘贴时出现故障_Workfine——快速整理数据的能力甩了excel几条街
- axure如何页面滑动时广告位上移_Axure案例:滑动输入,学会这一招,你就能超越80%的人...
- jmeter如何看tps_jmeter性能测试疑难杂症解决思路
- PS CC2018替换/修改图片上的文字内容
- 安卓开发旅之百度导航
- java解压文件 文件过大,Java压缩/解压缩大文件( 1gb)
- 固高运动卡的使用 4 运动之PT(点位)运动
- twr java_Java7新特性 - TWR(try-with-resources)
- oracle+故障切换,CRS故障切换异常