实现计算器
from tkinter import *
top=Tk()
top.geometry('270x325')
process=StringVar()
process.set('')
result=StringVar()
result.set(0) m=[]
def cilkback(x):
if x=='=':
last=eval(''.join([str(i) for i in m ]))
e2.insert(0,last)
elif x=='C':
process.set('')
result.set('')
m.clear()
else:
m.append(x)
e1.insert("end",x)
print(x,end='')
#显示过程框
e1 = Entry(top,textvariable = process)
e1.grid(row=0,column=0,
rowpan=1,columnspan=4,
ipadx=60,ipady=8,padx=2,pady=1)
#显示结果框
e2 = Entry(top,textvariable = result)
e2.grid(row=1,column=0,
rowspan=1,columnspan=4,
ipadx=60,ipady=8,padx=2,pady=1)
s=['7','8','9','C','4','5','6','/','1','2','3','*','0','-','+','=']
i=0
color=['#FF82AB','#87CEFA','#FF7F00','#66CD00','#FF4040']
for x in range(2,6):
for y in range(0,4):
i+=1
btn=Button(top,text=s[i-1],activebackground='skyblue',
width='5',height='3',font='华文楷体 -12 bold',
command=lambda x=s[i-1]:cilkback(x),
bg=color[x-2],border=0.1)
btn.grid(row=x,column=y,ipadx=5,ipady=5,padx=1,pady=1)
top.title('计算器')
mainloop()
网友评论