猫史档案馆


【Python作品分享】计算器【作品秀】

用户:sky-*^O^*sky-*^O^*查看:1 回复:3 评论:1 创建时间:2021-12-07T18:47:28


【作品展示】

center_image

 

【作品介绍】

这是我的第一个tkinter库作品

希望能给大家带来帮助

希望能得到赞同

有什么问题欢迎大家提出

这样它才会越来越好

谢谢大家

 

【作品源代码】

from tkinter import*
from math import*
ans = 0
win = Tk()
win.title('计算器')
win.iconbitmap('计算器图标.ico')
la = Entry(master=win, width=30, bg='yellow', font=('kaiti', 20))
la.grid(column=0, row=0, columnspan=4, ipady=20)
las = ''


def add(d):
    global las
    g = las+str(d)
    la.delete(0, 'end')
    la.insert(0, g)
    las += str(d)


def cle():
    global la, las
    la.delete(0, 'end')
    las = ''


def ba():
    global la, las
    g = las[:len(las)-1]
    la.delete(0, 'end')
    la.insert(0, g)
    las = las[:len(las)-1]


def ok():
    global la, las, ans
    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 = ''


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('pi')).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


回复

上一页1 页 / 共 1下一页
一缕余晖一缕余晖

一缕余晖来啦!!!

点赞0


评论


sky-*^O^*sky-*^O^*

back:退格

clear:清空

ans:上次结果

点赞0


评论


sky-*^O^*sky-*^O^*

更新啦: imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E5%97%A8%E8%B5%B7%E6%9D%A5.gif"alt="emotion_编程猫_嗨起来"   版本更新: 1.改变了点π再点退格只剩p的问题 2.改变了乘方无法使用的bug(纯属粗心) 3.改进键盘无法输入的问题   只剩一个bug了 除非你点开这个网页 不然我才不告诉你呢 https://shequ.codemao.cn/community/415670

点赞0


评论