等额本息还款法:

每月月供额=〔贷款本金×月利率×(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]等额本息房贷计算器相关推荐

  1. python计算本息总和_[Python]等额本息房贷计算器

    等额本息还款法: 每月月供额=[贷款本金×月利率×(1+月利率)^还款月数]÷[(1+月利率)^还款月数-1] 每月应还利息=贷款本金×月利率×[(1+月利率)^还款月数-(1+月利率)^(还款月序号 ...

  2. python等额本息和等额本金_用Python解读房贷利率,要不要看随你

    可能很多买过房.贷过款的朋友大概都知道怎么回事,但是我相信大部分人也没细研究过,而绝大部分人买房时更是任由房屋中介摆布,因为给了中介费相信他们可以算的明明白白,自己也就不过多深究了.但我觉得买房不是小 ...

  3. python入门第二章房贷计算器 打印五子棋棋盘 猜数字 计数器 逢七拍手游戏

    # 等额本息(均使用基准利率) # 组合贷可作为课后习题 # 商业贷款利率:4.9% # 公积金利率:3.25%# 每月还款额=贷款本金×[月利率×(1+月利率) ^ 还款月数]÷{[(1+月利率) ...

  4. python 小工具 之 房贷计算器

    一.房贷贷款月供计算公式: 等额本息计算公式:[贷款本金 × 月利率 × (1 +月利率)^还款月数] ÷ [(1 +月利率)^还款月数 - 1 ] 等额本金计算公式:每月还款金额 = (贷款本金 / ...

  5. 等额本金和等额本息房贷公式推导

    去年利率调整比较频繁,我家贷款又多,以往不太关心房贷公式的,银行账单来了是多少就多少.现在为了要看懂账单,研究了一下房贷公式,把自己的理解记录一下.因为用到了数学公式,博客里直接输有问题,就在 Wor ...

  6. 等额本金.等额本息.房贷计算

    <?phpfunction debx(){$dkm = 12; //贷款月数,20年就是240个月$dkTotal = 2000; //贷款总额$dknl = 0.049; //贷款年利率$em ...

  7. 房贷利率有无套路?Python解读“等额本金与等额本息”的差异所在

    作者 | xiaoyu 来源 | Python数据科学 很多朋友留言说不知道房贷利率的不同归还方式是不是有套路,内心深表疑虑.我的第一反应是因为房贷很高,大家看到消费分期的套路自然而然就想到了房贷,很 ...

  8. Java实现:房贷计算器 (关键词:公积金、首付、等额本息、等额本金)

    1 背景:房贷计算器 目前现有的网页 房贷计算器,多多少少有点不符合自己需求,因此根据房贷相关公式及 java编写一个贷款计算器现有代码,改写了符合自己要求的 房贷计算器 . 计算结果精度为小数点后2 ...

  9. 财商训练(01)————等额本息和等额本金房贷的区别

    文章目录 01 等额本息 每月还款数额计算公式 案例分析: 02 等额本金 每月还款额度计算公式 案例分析 03 计算工具 04 Python实现 01 等额本息 每月还款数额计算公式 M=P×R×( ...

最新文章

  1. Windows下安装Redis服务
  2. 讨论Markov Random Field和Gibbs Random Field心得
  3. 制造型企业如何降低成本提升核心竞争力
  4. keytool生成证书_创建自签名ssl证书,Java生产jks证书
  5. 函数在机器底层是如何实现的_智能货柜专题三:如何实现不同机器“千机千面”?...
  6. [ solr入门 ] - 利用solrJ进行检索
  7. 每日一题:leetcode90.子集贰
  8. 前后端分离使用 Token 登录解决方案
  9. php isoptional,entity-framework – 实体框架7 Fluent API无法识别IsOptional()
  10. 队列,管道,manager模块
  11. vscode打开一个文件就会关闭一个文件
  12. excel粘贴时出现故障_Workfine——快速整理数据的能力甩了excel几条街
  13. axure如何页面滑动时广告位上移_Axure案例:滑动输入,学会这一招,你就能超越80%的人...
  14. jmeter如何看tps_jmeter性能测试疑难杂症解决思路
  15. PS CC2018替换/修改图片上的文字内容
  16. 安卓开发旅之百度导航
  17. java解压文件 文件过大,Java压缩/解压缩大文件( 1gb)
  18. 固高运动卡的使用 4 运动之PT(点位)运动
  19. twr java_Java7新特性 - TWR(try-with-resources)
  20. oracle+故障切换,CRS故障切换异常

热门文章

  1. 关于SOTIF预期功能安全的理解
  2. 小米妙享更新的安装包下载到了电脑的哪里
  3. 淘宝电商为什么转型社群团购,你知道吗?
  4. 数据可视化——坐标轴的定制
  5. 微信小程序实现拼团成功动画
  6. Baumer工业相机堡盟工业相机如何联合BGAPISDK和佳能EF变焦镜头实现相机的自动变焦(C#)
  7. 对于Ubuntu16.04中jstest-gtk不能正常识别Logitech G920 racing wheel的问题补充
  8. 巧用foxmail同步qq邮箱的通讯录
  9. d盘格式化后怎么恢复
  10. 移动端网页签名,附上DOM,效果图