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()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值