贷款月供计算器GUI版
先上效果图
排版布局后续有需要再优化吧,看着略丑。
代码如下,月供的计算公式是写死的,需要修改的自行在代码里更改。
# -*- coding: utf-8 -*-
"""
Created on Thu Sep 13 14:21:32 2018
@author: Administrator
贷款月供计算器
month_pay_calculator
"""
from tkinter import *
root = Tk()
root.title('贷款月供计算器')
root.geometry('440x360')
# 贷款金额文本
Label(root, text="贷款金额").grid(row=0,column=0)
# 贷款期限文本
Label(root, text="贷款期限").grid(row=1,column=0)
# 贷款类型文本
Label(root, text="贷款类型").grid(row=2,column=0,rowspan=2,columnspan=2)
# 利息文本
Label(root, text="年化利率").grid(row=3,column=2,rowspan=2,columnspan=2)
# 贷款金额输入框
var1 = IntVar()
Entry(root, textvariable = var1).grid(row=0,column=1)
# 贷款期限输入框
var2 = IntVar()
Entry(root, textvariable = var2).grid(row=1,column=1)
#root=Tk()
v=StringVar()
loan=['个人住房贷款','个人汽车贷款','个人经营性贷款','个人消费贷款','个人助学贷款','农户贷款','其他']
loan_pay = {'个人住房贷款':0.049,
'个人汽车贷款':0.035,
'个人经营性贷款':0.075,
'个人消费贷款':0.24,
'个人助学贷款':0.045,
'农户贷款':0.075,
'其他':0.24}
#功能函数
def msg(text_):
top = Toplevel()
top.geometry('132x76')
top.title('提示')
Message(top, text=text_,bg='FireBrick', font=('times', 20, 'italic')).grid()
#功能函数
def ptr():
kind = v.get()
if kind=='':
msg('请选择贷款类型!')
fee = var_list[loan.index(kind)].get()
amount = var1.get()
period = var2.get()
xxhb = var3.get()
if amount==0:
msg('请填写贷款金额!')
if period==0:
msg('请填写贷款期数!')
if kind=='个人住房贷款':
month_pay = amount*(fee/12)*(1+fee/12)**period/((1+fee/12)**period-1)
elif xxhb:
month_pay = amount*fee/12
else:
month_pay = amount*fee/12 + amount/period
month_pay_r = round(month_pay,2)
Label(root, text=month_pay_r, bg="Thistle", font=("黑体",12), width=16, height=2).grid(row=15,column=2)
#单选框
j = 5
var_list = list()
for i in loan:
v_e = DoubleVar()
var_list.append(v_e)
Radiobutton(root,text=i,variable=v,value=i).grid(row=j,column=0,columnspan=2)
Entry(root,textvariable=v_e).grid(row=j,column=2,sticky=W)
v_e.set(loan_pay[i])
j += 1
#复选框(先息后本)
var3 = BooleanVar()
Checkbutton(root,text='先息后本',variable=var3).grid(row=12,column=1,rowspan=2,sticky=W)
#功能函数
def default():
for i in loan:
var_list[loan.index(i)].set(loan_pay[i])
#默认利率
Button(root, text="默认利率",bg='PaleGoldenrod',bd=2,font=("楷体",12),width=8, height=1,command=default).grid(row=10,column=4)
#计算按钮
Button(root, text="计算",bg='MediumSlateBlue',bd=2,font=("楷体",14),width=7, height=1,command=ptr).grid(row=12,column=4)
#贷款月供
Label(root, text="贷款月供", bg="DarkSeaGreen", font=("黑体",12), width=16, height=2).grid(row=15,column=1)
Label(root, text='-', bg="Thistle", font=("黑体",12), width=16, height=2).grid(row=15,column=2)
root.mainloop()
要做成exe格式请参考
http://www.cnblogs.com/gopythoner/p/6337543.html
GUI相关请参考
https://www.cnblogs.com/progor/p/8505097.html
http://www.cnblogs.com/kaituorensheng/p/3287652.html
https://www.cnblogs.com/kongzhagen/p/6154826.html
附上exe文件,自行杀毒。