简单计算器的实现

刚学python不久,就会点基础语法,勉强写出了这计算器。。。



代码:

from tkinterimport *

cal = Tk()

cal.title('MyCalculator')

cal.resizable(0,0)

display = Text(cal,width=50,height=3)

display.grid(row=0,columnspan=4)

def call(x):

display.insert(INSERT, x)

def remove():

display.delete(0.0, END)

def calculation():

content = display.get(0.0, END)

try:

result =eval(content)

except BaseException as e:

display.delete(0.0, END)

display.insert(END,'ERROR')

display.insert(END,'\n')

display.insert(END, result)

btn_1 = Button(cal,text='1',command=lambda: call(1))

btn_1.grid(row=1,column=0,sticky=W+E+S+N)

btn_2 = Button(cal,text='2',command=lambda: call(2))

btn_2.grid(row=1,column=1,sticky=W+E+S+N)

btn_3 = Button(cal,text='3',command=lambda: call(3))

btn_3.grid(row=1,column=2,sticky=W+E+S+N)

btn_add = Button(cal,text='+',command=lambda: call('+'))

btn_add.grid(row=1,column=3,sticky=W+E+S+N)

btn_4 = Button(cal,text='4',command=lambda: call(4))

btn_4.grid(row=2,column=0,sticky=W+E+S+N)

btn_5 = Button(cal,text='5',command=lambda: call(5))

btn_5.grid(row=2,column=1,sticky=W+E+S+N)

btn_6 = Button(cal,text='6',command=lambda: call(6))

btn_6.grid(row=2,column=2,sticky=W+E+S+N)

btn_sub = Button(cal,text='-',command=lambda: call('-'))

btn_sub.grid(row=2,column=3,sticky=W+E+S+N)

btn_7 = Button(cal,text='7',command=lambda: call(7))

btn_7.grid(row=3,column=0,sticky=W+E+S+N)

btn_8 = Button(cal,text='8',command=lambda: call(8))

btn_8.grid(row=3,column=1,sticky=W+E+S+N)

btn_9 = Button(cal,text='9',command=lambda: call(9))

btn_9.grid(row=3,column=2,sticky=W+E+S+N)

btn_mul = Button(cal,text='*',command=lambda: call('*'))

btn_mul.grid(row=3,column=3,sticky=W+E+S+N)

btn_clear = Button(cal,text='clear',command=lambda: remove())

btn_clear.grid(row=4,column=0,sticky=W+E+S+N)

btn_0 = Button(cal,text='0',command=lambda: call(0))

btn_0.grid(row=4,column=1,sticky=W+E+S+N)

btn_equal = Button(cal,text='=',command=lambda: calculation())

btn_equal.grid(row=4,column=2,sticky=W+E+S+N)

btn_div = Button(cal,text='/',command=lambda: call('/'))

btn_div.grid(row=4,column=3,sticky=W+E+S+N)

cal.mainloop()


截图

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容