失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python计算等额本息还款房贷_一个简单的房贷计算器(等额本息)

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

时间:2022-01-12 15:47:27

相关推荐

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

#-*- 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计算等额本息还款房贷_一个简单的房贷计算器(等额本息)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。