#导入模块
import datetime,time,tkinter
#新建一个窗口
windows=tkinter.Tk()
#给窗口定义标题
windows.title('简易计算器')
#给窗口定义尺寸
windows.geometry('500x600')
#-------------------------------逻辑事件---------------------
content=''
def btn_onclick(data):
global content
if data=='CE' or data=='AC':
expression.set('')
result.set('')
content=''
elif data== '=':
result.set(f'{eval(content)}')
else:
content+=data
expression.set(content)
#-------------------------界面--------------------------------
lable_date=tkinter.Label(windows,text='当天日期:',font=('楷体',16))
lable_date.place(x=0,y=240,width=100,height=40)
#获取当前系统时间
get_time=tkinter.StringVar(value=time.strftime('%Y-%m-%d',time.localtime(time.time())))
#显示当前时间
lable_time=tkinter.Label(windows,textvariable=get_time,font=('楷体',16))
lable_time.place(x=100,y=240,width=130,height=40)
#给计算器按钮定义一个二维数组
btn_datas=[
['%','7','8','9','/'],
['**','4','5','6','-'],
['CE','1','2','3','*'],
['AC','0','//','+','=']
]
#循环按钮
for r in range(4):
for c in range(5):
btn_sumit=tkinter.Button(windows,text=btn_datas[r][c],font=('黑体',30),command=lambda x=btn_datas[r][c]:btn_onclick(x))
btn_sumit.place(x=c*100,y=280+r*80,width=100,height=80)
#显示公式及结果
expression=tkinter.StringVar()
lable_exp=tkinter.Label(windows,textvariable=expression,font=('黑体',20))
lable_exp.place(x=20,y=20,width=400,height=50)
result=tkinter.StringVar()
lable_result=tkinter.Label(windows,textvariable=result,font=('黑体',30))
lable_result.place(x=360,y=180,width=100,height=50)
windows.mainloop()