等额本息还款法:

每月月供额=〔贷款本金×月利率×(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的本金

以此类推

运行结果

代码如下

defmonthlyPayment(principal, year_rate, year_duration):

monthly_rate= year_rate / (12 * 100) #convert 4.9 to 0.049 and monthly interest rate

month_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))return

if __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

以此类推

python计算等额本息还款房贷_[Python]等额本息房贷计算器相关推荐

  1. python计算在月球的体重程序_# Python程序语言设计基础(第二版)程序练习题

    Python程序语言设计基础(第二版)程序练习题 3.1 重量计算,月球上物体的体重是在地球上的16.5%,假如你在地球上每年增长0.5kg,编写程序输出未来10年你在地球和月球上的体重状况. cur ...

  2. python -- 计算 平方、乘方、平方根_从零开始学习PYTHON3讲义(二)把Python当做计算器...

    <从零开始PYTHON3>第二讲 上一讲我们说过了如何启动Python IDLE集成开发学习环境,macOS/Linux都可以在命令行执行idle3.Windows则从开始菜单中去寻找ID ...

  3. python计算长方形面积 青少年编程电子学会python编程等级考试一级真题解析2022年6月

    目录 python计算长方形面积 一.题目要求 1.编程实现 2.输入输出

  4. Python 计算两个连通子图距离_复杂网络分析之python利器NetworkX

    点击蓝字 关注我们 1 networkx介绍 networkx在2002年5月产生,是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分 ...

  5. python计算学分绩点的程序_模拟登录教务系统计算GPA的小程序

    做了一些小游戏之后开始慢慢体会敲代码是件体力活,慢慢熬总能熬出来的.这几天又心血来潮想写个程序模拟登录教务系统计算GPA的小程序.不过之前没有一点点网络编程的经验,就趁着期中考后放假4天,一点点把坑填 ...

  6. python计算各类型电影的评分_【Python数据科学实战项目】之 基于MovieLens的影评趋势分析|详解...

    原标题:[Python数据科学实战项目]之 基于MovieLens的影评趋势分析|详解 注:图片源于https://movielens.org/ 1. 项目任务 1.1 数据来源 本项目使用Group ...

  7. Python 计算两个连通子图距离_【CV学习笔记】图像的计算

    关注"深度学习冲鸭",一起学习一起冲鸭! 设为星标,第一时间获取更多干货 作者:云时之间 来源:知乎 链接:https://zhuanlan.zhihu.com/p/1038790 ...

  8. python写圆柱的体积_【用python计算圆柱体的体积资讯】用python计算圆柱体的体积足球知识与常识 - 足球百科 - 599比分...

    请大家进行Python安装,完成根据用户输入的半径和高度值,求圆柱体的体积. 这道要用到int(),input()和print().π的取值,可用math模块中的pi,也自己设定为3.14.需要保留特 ...

  9. python计算两字符串中的位置_从Python中的字符串中获取两个字符

    how to get in python from string not one character, but two? I have: long_str = 'abcd' for c in long ...

  10. python计算长方形的周长和面积_计算矩形的周长和面积

    我需要能够将矩形的长度和宽度输入到控制台并计算其周长和面积.除了接受我的输入以进行计算外,我还有其他工作.我知道我很接近,但似乎无法弄清楚.在此先感谢您的帮助.请记住,我是一个很好的新手,所以你的答案 ...

最新文章

  1. 《数字逻辑设计与计算机组成》一3.3 加法器
  2. 木棍分割[HAOI2008]
  3. python怎么编辑文件夹_python创建修改文件
  4. 说说成为顶级运营人员的一个先决条件:做事的霸气!
  5. GDCM:gdcm::Rescaler的测试程序
  6. Rust 社区求变,PHP 大旗不倒?
  7. 10一个应用阻止关机贴吧_手机该不该每天关机一次?看完才知道这么多年白用了...
  8. 图表graph之增加曲线
  9. idea 无效的目标发行版_maven构建异常(无效的目标发行版: 1.8)
  10. [django]list_display 中包含外键内的字段
  11. 回归问题中代价函数选择的概率解释(Probabilistic interpretation)
  12. Linux用awk处理文本数据
  13. 打包 pyqt5_基于Pyqt5的简单电影搜索工具,Python让你3秒搜电影
  14. VS语音信号处理(1) C语言读取WAV语音文件文件头数据
  15. 【2020.11.16】堆栈传参、堆栈平衡
  16. 使用JavaMail发送普通邮件(纯文本邮件)
  17. DataGridView显示时间格式
  18. html表格背景图片格式,CSS常见样式(二)——列表,背景,边框,行高,表格,vertical-align...
  19. 更适合小孩的电动牙刷,轻柔呵护口腔,Combo咸蛋超人电动牙刷上手
  20. C语言实现约瑟夫环问题

热门文章

  1. 大数据与数据挖掘的相对绝对关系
  2. 国内主机商开始取消个人网站备案码!
  3. 彻底解决web调试时,修改css样式后刷新网页无改变
  4. 移动支付走入线下商家
  5. win10键盘快捷键
  6. 选择华为帐号作为第三方登录的三个理由!
  7. 二维数组定义及初始化
  8. Typora安装主题方法
  9. 批量将多个 PDF 文件合并成一个独立的 PDF 文件
  10. NVR和DVR有什么区别