#-*- encoding:utf-8 -*-

import tkinter

tk = tkinter.Tk()

#设置窗口标题

tk.title("房贷计算器")

#设置窗口大小

tk.geometry("290x500")

Total = tkinter.StringVar()

Downpayment = tkinter.StringVar()

Loan = tkinter.StringVar()

Repayment = tkinter.StringVar()

Interests = tkinter.StringVar()

#添加Label

label_area = tkinter.Label(tk,text ="房屋面积",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_area.place(x = 10,y = 10 ,width = 80,height = 40)

label_price = tkinter.Label(tk,text ="房屋单价",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_price.place(x = 10,y = 50 ,width = 80,height = 40)

label_total = tkinter.Label(tk,text ="房屋总价",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_total.place(x = 10,y = 90 ,width = 80,height = 40)

label_percent = tkinter.Label(tk,text ="首付比例",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_percent.place(x = 10 ,y = 130, width = 80, height = 40)

label_downpayment = tkinter.Label(tk,text ="首付金额",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_downpayment.place(x = 10 ,y = 170, width = 80, height = 40)

label_loan = tkinter.Label(tk,text ="贷款金额",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_loan.place(x = 10 ,y = 210, width = 80, height = 40)

label_years = tkinter.Label(tk,text = "按揭年数",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_years.place(x = 10 ,y = 250, width = 80, height = 40)

label_interest = tkinter.Label(tk,text = "贷款利率",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_interest.place(x = 10 ,y = 290, width = 80, height = 40)

label_repayment = tkinter.Label(tk,text = "每月月供",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_repayment.place(x = 10 ,y = 330, width = 80, height = 40)

label_interests= tkinter.Label(tk,text = "总利息",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_interests.place(x = 10 ,y = 370, width = 80, height = 40)

#添加单位label

label_area1 = tkinter.Label(tk,text ="㎡",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_area1.place(x = 250,y = 10 ,width = 20,height = 40)

label_price1 = tkinter.Label(tk,text ="元",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_price1.place(x = 250,y = 50 ,width = 20,height = 40)

label_total1 = tkinter.Label(tk,text ="元",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_total1.place(x = 250,y = 90 ,width = 20,height = 40)

label_percent1 = tkinter.Label(tk,text ="%",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_percent1.place(x = 250 ,y = 130, width = 20, height = 40)

label_downpayment1 = tkinter.Label(tk,text ="元",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_downpayment1.place(x = 250 ,y = 170, width = 20, height = 40)

label_loan1 = tkinter.Label(tk,text ="元",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_loan1.place(x = 250 ,y = 210, width = 20, height = 40)

label_years1 = tkinter.Label(tk,text = "年",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_years1.place(x = 250 ,y = 250, width = 20, height = 40)

label_interest1 = tkinter.Label(tk,text = "%",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_interest1.place(x = 250 ,y = 290, width = 20, height = 40)

label_repayment1 = tkinter.Label(tk,text = "元",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_repayment1.place(x = 250 ,y = 330, width = 20, height = 40)

label_interests1= tkinter.Label(tk,text = "元",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

label_interests1.place(x = 250 ,y = 370, width = 20, height = 40)

#添加entry

entry_area = tkinter.Entry(tk,textvariable=tkinter.StringVar(),font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

entry_area.place(x = 100,y = 10 ,width = 150,height = 40)

entry_price = tkinter.Entry(tk,textvariable=tkinter.StringVar(),font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

entry_price.place(x = 100,y = 50 ,width = 150,height = 40)

entry_total = tkinter.Entry(tk,textvariable=Total,state = "readonly",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

entry_total.place(x = 100,y = 90 ,width = 150,height = 40)

entry_percent = tkinter.Entry(tk,textvariable = tkinter.StringVar(),font = ("微软雅黑",15),fg=("#4F4F4F"),bd = 0.5)

entry_percent.place(x = 100, y = 130,width = 150,height = 40)

entry_downpayment = tkinter.Entry(tk,textvariable=Downpayment,state = "readonly",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

entry_downpayment.place(x = 100,y = 170 ,width = 150,height = 40)

entry_loan = tkinter.Entry(tk,textvariable=Loan,state = "readonly",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

entry_loan.place(x = 100,y = 210 ,width = 150,height = 40)

entry_years = tkinter.Entry(tk,textvariable = tkinter.StringVar(),font = ("微软雅黑",15),fg=("#4F4F4F"),bd = 0.5)

entry_years.place(x = 100, y = 250,width = 150,height = 40)

entry_interest = tkinter.Entry(tk,textvariable = tkinter.StringVar(),font = ("微软雅黑",15),fg=("#4F4F4F"),bd = 0.5)

entry_interest.place(x = 100, y = 290,width = 150,height = 40)

entry_repayment = tkinter.Entry(tk,textvariable=Repayment,state = "readonly",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

entry_repayment.place(x = 100,y = 330 ,width = 150,height = 40)

entry_interests = tkinter.Entry(tk,textvariable=Interests,state = "readonly",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)

entry_interests.place(x = 100,y = 370 ,width = 150,height = 40)

#设置总价按钮的函数

def total():

Total.set(float(entry_area.get())*float(entry_price.get()))

Downpayment.set(float(entry_total.get())*float(entry_percent.get())/100)

Loan.set(float(entry_total.get())-(float(entry_downpayment.get())))

#〔贷款本金×月利率×(1+月利率)^还款月数〕÷〔(1+月利率)^还款月数-1〕

Repayment.set(round(float(entry_loan.get())*(float(entry_interest.get())/100/12)*

((1+(float(entry_interest.get())/100/12))**(float(entry_years.get())*12))/

((1+(float(entry_interest.get())/100/12))**(float(entry_years.get())*12)-1),2))

#总利息=还款月数×每月月供额-贷款本金

Interests.set((float(entry_years.get())*12)*(float(entry_repayment.get()))-(float(entry_loan.get())))

button_total = tkinter.Button(tk,text = "等额本息",font = ('微软雅黑',20),fg = ('#4F4F4F'),bd = 0.5,command=total)

button_total.place(x = 150,y = 420,width = 130,height = 80)

def clear():

#清楚所有输入框的数据

entry_area.delete(0,100)

entry_price.delete(0,100)

entry_percent.delete(0,100)

entry_years.delete(0,100)

entry_interest.delete(0,100)

button_clear = tkinter.Button(tk,text = "重置",font = ('微软雅黑',20),fg = ('#4F4F4F'),bd = 0.5,command=clear)

button_clear.place(x = 10,y = 420,width = 130,height = 80)

#添加计算房贷首付、按揭等计算按钮

tk.mainloop()

python计算等额本息还款房贷_一个简单的房贷计算器(等额本息)相关推荐

  1. 用Tkinter打造自己的Python IDE开发工具(1)建立一个简单的代码编辑器

    用Tkinter打造自己的Python IDE开发工具(1)建立一个简单的代码编辑器 很多Python初学者,安装完Python后,已经包含了IDLE代码开发和调试系统.都会再安装各种Python开发 ...

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

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

  3. 利用python爬取知乎评论_一个简单的python爬虫,爬取知乎

    一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: 1 # -*- c ...

  4. python简单小游戏代码_一个简单的python小游戏---七彩同心圆

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 用pygame做一个简单的python小游戏-七彩同心圆 玩法:每次点击鼠标时,会以鼠标为圆心,不断 ...

  5. src获取同级目录中的图片_一个简单的Python爬虫实例:百度贴吧页面下载图片

    本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片. 1. 概述 本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片.下载图片的步骤如下: 获取网页html文本内容: 分析html ...

  6. python设计一个三维向量类_一个简单的三维向量类

    最近在看<3D数学基础:图形与游戏开发>.该书第六章实现了一个简单三维向量类.我看了一下代码,发现有些地方是错的,于是做了一些小修改.该三维向量类实现了一些常用的向量运算,如点乘.叉乘等. ...

  7. 标题相似度算法_一个简单的计算文章相似度功能!

    在做文章系统的时候,很多时候需要为这篇文章推荐最相近的文章. 解决思路是:给文章设定关键词然后模糊查询进行匹配.找到包含这个关键词的标题,然后给显示出来,作为最接近的文章. 但是有问题:这样的文章,排 ...

  8. python爬b站评论_一个简单的爬取b站up下所有视频的所有评论信息的爬虫

    心血来潮搞了一个简单的爬虫,主要是想知道某个人的b站账号,但是你知道,b站在搜索一个用户时,如果这个用户没有投过稿,是搜不到的,,,这时就只能想方法搞到对方的mid,,就是 space.bilibil ...

  9. python手写多个字母识别_一个带界面的CNN手写数字识别,使用Python(tensorflow, kivy)实现...

    CNN_Handwritten_Digit_Recognizer (CNN手写数字识别) A CNN handwritten digit recognizer with graphical UI, i ...

  10. java年龄计算_一个简单的java年龄计算器

    制作一个如下图年龄计算器 根据题目,我做了一个由Calendar类以及年月日各相减得到的年龄,当然正确的方法不止一个,以下为我的源代码和结果截图: package com.Date; import j ...

最新文章

  1. Github 的 Pull Request 教程
  2. 三星s轻奢android+p,三星Galaxy S轻奢版5月21日将至:骁龙660处理器+安卓8.0
  3. 020.2.2 runtime类
  4. GLUT及其函数的用法整理
  5. 的使用两个数据集拼接_使用Scikit Learn的分类器探索Iris数据集
  6. eclipse创建spring boot项目,tomcat启动成功,但http://localhost:8080无法访问报错404解决方案...
  7. [原]C++头文件的包含顺序研究
  8. DenseNet论文
  9. 字节码指令之对象的创建与访问指令
  10. springboot+vue企业员工考勤绩效工资管理系统java
  11. 谷歌pixel3axl开发者模式_谷歌推出新一代安卓系统“Android 10”
  12. 微信开发者工具公众号网页调试跨域问题的解决
  13. android-自定义锁屏界面
  14. ocdma相干非相干_相干成像和非相干成像有什么区别?
  15. ios 改变图片尺寸_iOS基础(十八)——调整图片尺寸和大小
  16. python自学软件-学习python用什么软件
  17. Android 中的代码混淆
  18. 年薪40万AI工程师必备的能力项,你达标了吗?
  19. UE4-LOD理解-Distance culling(距离剔除体积)和Visibility culling(可视化剔除体积)
  20. 国庆七连测(一)BREAD

热门文章

  1. 如何提高自身数学分析水平?
  2. 彩色西装 来一整套·都市周报
  3. asp.net大文件分块上传视频教程
  4. cesiumlab v3.0.2—通用模型切片
  5. 苹果设邮箱的126服务器,Mac系统中的邮箱创建126邮箱帐户的方法
  6. 平面设计是什么?学会平面设计可以从事什么工作?
  7. python中等高线填充颜色_Matplotlib:使用透明颜色填充等高线图
  8. 开启注册丨ACL-IJCAI-SIGIR顶级会议论文报告会(AIS 2020)
  9. 最简单最快速csv超大文件入库并统计Top5
  10. TortoiseGit安装和使用的图文教程