nancy - nancy牌计算器

坚强是说给别人听的谎言 提交于 2019-12-28 14:34:55
import tkinter

Mywindow = tkinter.Tk()
Mywindow.geometry("280x500")
Mywindow.title("nancy牌计算器")

express = ""    # 表达式变量
def press(num):
    global express
    express = express+num  # 表达式加上新按的按钮数字
    la2['text'] = express

def equal():
    global express
    result = eval(express)  # eval计算表达式
    la['text'] = result

# 有清除功能的函数 express =""
def clear():
    global  express
    express =""      # 清空表达式
    la2['text'] = express   # 刷新表达式

# 有退格函数的功能
def delete():
    global express   # 全局express 变量
    express = express[0:len(express)-1]  # 去除最后一个字符
    la2['text'] = express


la = tkinter.Label(
    Mywindow,
    text="result",
    font=("Arial", 20),
    bg="#ADD8E6",
    fg="black",
    anchor="se",  # anchor 船锚  north south west east
)
la.place(x=0, y=0, width=280, height=170)

la2 = tkinter.Label(
    Mywindow,
    text="equal",
    font=("Arial", 20),
    bg="#ADD8E6",
    fg="black",
    anchor="se",
)
la2.place(x=0, y=170, width=280, height=60)


def btn(text, x, y, w=70, h=55,):
    Btn = tkinter.Button(
        Mywindow,
        text=text,
        font=("Airal", 20),
        fg="black",
        bg='#DCDCDC',
        bd=0.5,
        command = lambda:press(text)
    )
    Btn.place(x=x, y=y, width=w, height=h)



btn("/", 140, 230)
btn('*', 210, 230)

btn('7', 0, 285)
btn('8', 70, 285)
btn('9', 140, 285)
btn('-', 210, 285)
btn('4', 0, 340)
btn('5', 70, 340)
btn('6', 140, 340)
btn('+', 210, 340)

btn('1', 0, 395)
btn('2', 70, 395)
btn('3', 140, 395)
# btn('=', 210, 395, h=110)
btnE =  tkinter.Button(
        Mywindow,
        text='=',
        font=("Airal", 20),
        fg="black",
        bg='#DCDCDC',
        bd=0.5,
        command = equal
    )
btnE.place(x=210, y=395, width=70, height=110)

# btn("AC", 0, 230)
btnA = tkinter.Button(
Mywindow,
        text='AC',
        font=("Airal", 20),
        fg="black",
        bg='#DCDCDC',
        bd=0.5,
        command = clear
)
btnA.place(x=0,y=230,width=70,height=55)
# btn("DEL", 70, 230)
btnD = tkinter.Button(
        Mywindow,
        text='DEL',
        font=("Airal", 20),
        fg="black",
        bg='#DCDCDC',
        bd=0.5,
        command = delete
)
btnD.place(x=70,y=230,width=70,height=55)


btn('%', 0, 450, w=35)
btn('.', 35, 450, w=35)
btn('0', 70, 450)
btn('(', 140, 450, w=35)
btn(')', 175, 450, w=35)

Mywindow.mainloop()
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!