用户:
sky-*^O^*查看:0 回复:0 评论:0 创建时间:2021-12-28T13:18:14
【作品展示】

【作品介绍】
【作品源代码】
from tkinter import*
import ico
import base喵
import os
if not '计算器图标.ico' in os.walk(os.getcwd()):
with open('计算器图标.ico',mode='wb+') as f:
f.write(base喵.b喵decode(ico.img))
n=True
π=3.14159265358
ans = 0
win = Tk()
win.title('计算器')
win.iconbitmap('计算器图标.ico')
la = Entry(master=win, width=30, bg='#fff8dc', font=('kaiti', 20))
la.grid(column=0, row=0, columnspan=4, ipady=25)
las = ''
def add(d):
global la,las,n
if n:
las=la.get()
g = las+str(d)
la.delete(0, 'end')
la.insert(0, g)
las += str(d)
n=True
def cle():
global la, las,n
la.delete(0, 'end')
las = ''
n=True
def ba():
global la, las,n
las=la.get()
g = las[:len(las)-1]
la.delete(0, 'end')
la.insert(0, g)
las = las[:len(las)-1]
n=True
def ok():
global la, las, ans,n
las=la.get()
las=las.replace('^','**')
try:
g = las
la.delete(0, 'end')
ans = eval(g)
la.insert(0, ans)
las = ''
except:
la.delete(0, 'end')
la.insert(0, 'error')
ans = 'error'
las = ''
n=False
Button(master=win, font=('kaiti', 20), height=3, width=7,
bg='brown', text='clear', command=cle).grid(column=0, row=1)
Button(master=win, font=('kaiti', 20), height=3, width=7,
bg='brown', text='back', command=ba).grid(column=1, row=1)
Button(master=win, font=('kaiti', 20), height=3, width=7,
bg='brown', text='=', command=ok).grid(column=3, row=6)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text='ans', command=lambda: add(ans)).grid(column=2, row=6)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text='(', command=lambda: add('(')).grid(column=0, row=2)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text=')', command=lambda: add(')')).grid(column=1, row=2)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text='×', command=lambda: add('*')).grid(column=2, row=2)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text='÷', command=lambda: add('/')).grid(column=3, row=2)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text='-', command=lambda: add('-')).grid(column=3, row=3)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text='+', command=lambda: add('+')).grid(column=3, row=4)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text='.', command=lambda: add('.')).grid(column=3, row=5)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text='π', command=lambda: add('π')).grid(column=0, row=6)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text='0', command=lambda: add('0')).grid(column=1, row=6)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text='(-)', command=lambda: add('-')).grid(column=2, row=1)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text='^', command=lambda: add('^')).grid(column=3, row=1)
for p in range(3):
for l in range(3):
u = str(p*3+l+1)
Button(master=win, font=('kaiti', 20), height=3, width=7, bg='brown',
text=p*3+l+1, command=lambda u=u: add(u)).grid(column=l, row=p+3)
win.resizable(False, False)
mainloop()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn