代码如下:
from tkinter import * #定义主窗口 root=Tk() root.title("Calculator") e=Entry(root,width=25,bd=5) e.grid(row=0,column=0,columnspan=3,padx=10,pady=10) #定义点击命令 def button_click(number): current=e.get() #获取当前内容 e.delete(0,END) e.insert(0,str(current)+str(number)) def button_clear(): e.delete(0,END) def button_add(): first_number=e.get() global f_num global math #定义全局变量f_num用于在函数间传递参数,math用来标记函数 math="addition" f_num = int(first_number) e.delete(0,END) def button_subtract(): first_number=e.get() global f_num global math math="substraction" f_num = int(first_number) e.delete(0,END) def button_multiply(): first_number=e.get() global f_num global math math="multiplication" f_num = int(first_number) e.delete(0,END) def button_divide(): first_number=e.get() global f_num global math math="division" f_num = int(first_number) e.delete(0,END) def button_equal(): second_number = e.get() e.delete(0,END) if math=="addition": e.insert(0,f_num + int(second_number)) elif math=="multiplication": e.insert(0,f_num * int(second_number)) elif math=="substraction": e.insert(0,f_num - int(second_number)) elif math=="division": e.insert(0,f_num / int(second_number)) #定义按纽 button_0=Button(root,text="0",padx=40,pady=20,command=lambda:button_click(0)) button_1=Button(root,text="1",padx=40,pady=20,command=lambda:button_click(1)) button_2=Button(root,text="2",padx=40,pady=20,command=lambda:button_click(2)) button_3=Button(root,text="3",padx=40,pady=20,command=lambda:button_click(3)) button_4=Button(root,text="4",padx=40,pady=20,command=lambda:button_click(4)) button_5=Button(root,text="5",padx=40,pady=20,command=lambda:button_click(5)) button_6=Button(root,text="6",padx=40,pady=20,command=lambda:button_click(6)) button_7=Button(root,text="7",padx=40,pady=20,command=lambda:button_click(7)) button_8=Button(root,text="8",padx=40,pady=20,command=lambda:button_click(8)) button_9=Button(root,text="9",padx=40,pady=20,command=lambda:button_click(9)) button_9=Button(root,text="0",padx=40,pady=20,command=lambda:button_click(0)) button_ad=Button(root,text="+",padx=39,pady=20,command=button_add) button_eq=Button(root,text="=",padx=91,pady=20,command=button_equal) button_cl=Button(root,text="clear",padx=79,pady=20,command=button_clear) button_sub=Button(root,text="-",padx=41,pady=20,command=button_subtract) button_mul=Button(root,text="*",padx=41,pady=20,command=button_multiply) button_div=Button(root,text="/",padx=41,pady=20,command=button_divide) #设置按纽格式 button_1.grid(row=3,column=0) button_2.grid(row=3,column=1) button_3.grid(row=3,column=2) button_4.grid(row=2,column=0) button_5.grid(row=2,column=1) button_6.grid(row=2,column=2) button_7.grid(row=1,column=0) button_8.grid(row=1,column=1) button_9.grid(row=1,column=2) button_0.grid(row=4,column=0) button_cl.grid(row=4,column=1,columnspan=2) button_ad.grid(row=5,column=0) button_eq.grid(row=5,column=1,columnspan=2) button_sub.grid(row=6,column=0) button_mul.grid(row=6,column=1) button_div.grid(row=6,column=2) root.mainloop()