def create_btn(text,col,row,cs,rs,px=(1,1),py=(1,1)): #函数生成按钮
t=text
t=t.replace(‘×’,’*’)
t=t.replace(‘÷’,’/’)
t=t.replace(‘x²’,’**2’)
t=t.replace(‘1/x’,’**(-1)’) #替换特殊符号
a=tk.Button(root,text=text,width=4,command=lambda:(text_print(t))) #输入内容
a.grid(column=col,row=row,columnspan=cs,rowspan=rs,padx=px,pady=py,sticky=‘nswe’)
return(a)
因为有些按钮的输入的符号并不等于它的文本内容(比如按钮“×”,输入“*”),因此我们用replace
函数来替换掉这些特殊符号。
text_print
是输入内容的函数,这个在后面会定义。
btn={} #生成按钮
btn[‘1’]=create_btn(‘1’,0,5,1,1)
btn[‘2’]=create_btn(‘2’,1,5,1,1)
btn[‘3’]=create_btn(‘3’,2,5,1,1)
btn[‘4’]=create_btn(‘4’,0,4,1,1)
btn[‘5’]=create_btn(‘5’,1,4,1,1)
btn[‘6’]=create_btn(‘6’,2,4,1,1)
btn[‘7’]=create_btn(‘7’,0,3,1,1)
btn[‘8’]=create_btn(‘8’,1,3,1,1)
btn[‘9’]=create_btn(‘9’,2,3,1,1)
btn[‘0’]=create_btn(‘0’,0,6,2,1)
btn[’.’]=create_btn(’.’,2,6,1,1)
btn[’=’]=create_btn(’=’,4,5,1,2)
btn[’+’]=create_btn(’+’,3,6,1,1)
btn[’-’]=create_btn(’-’,3,5,1,1)
btn[’*’]=create_btn(‘×’,3,4,1,1)
btn[’/’]=create_btn(‘÷’,4,4,1,1)
btn[‘←’]=create_btn(‘←’,1,2,1,1)
btn[‘C’]=create_btn(‘C’,2,2,1,1)
btn[’(’]=create_btn(’(’,3,2,1,1)
btn[’)’]=create_btn(’)’,4,2,1,1)
btn[’**2’]=create_btn(‘x²’,3,3,1,1)
btn[’**(-1)’]=cr