代码拉取完成,页面将自动刷新
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from tkinter import * #导入tkinter的库全部
def userinput(text): #按键返回函数
content = display.get() + text
display.set(content)
def clear(): #清空函数
display.set('')
def dell(): #删除一字符函数
display.set(str(display.get()[:-1]))
def calculate(): #调用eval计算表达式
try:
num=display.get()
res=eval(num)
display.set(num+'='+str(res))
except:
display.set('error!')
def main():
root = Tk()
root.title('计算器')
global display
display = StringVar()
root.geometry('380x280+200+200')
root.resizable(0,0)
label = Label(root,relief='sunken',borderwidth=3, anchor=SE)#显示窗口
label['textvariable'] = display
label.config(bg='white', width=38, height=2)
label.grid(row=0, column=0, columnspan=4,pady=10)
positions=[(x,y) for x in range(1,6) for y in range(4)]
tests=['Cls','Bck','(',')',
'7','8','9','/',
'4','5','6','*',
'1','2','3','-',
'0','.','=','+']
for i in zip(tests,positions): #将两个列表并列
text=i[0]
row=i[1][0]
column=i[1][1]
if text=='Cls':
Button(root, text=text, width=8, command=lambda text=text: clear()).grid(row=row, column=column)
elif text=='Bck':
Button(root, text=text, width=8, command=lambda text=text: dell()).grid(row=row, column=column)
elif text=='=':
Button(root, text=text, bg='green', width=8, command=lambda text=text: calculate()).grid(row=row, column=column)
else:
Button(root, text=text, width=8, command=lambda text=text: userinput(text)).grid(row=row, column=column)
root.mainloop()
main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。