天天看點

nancy - nancy牌電腦

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()
           

繼續閱讀