python生成简易计算器页面及运行代码

 题目:

计算器界面设计计算器是一种较为常用的小工具,简单的计算器有10个数字键、小数点、四则运算符、退格、删除、清零等按钮,还要有显示区以及等号按钮,按键较多,如何排列得既漂亮美观又方便实用,需要仔细进行设计。请利用本节介绍的布局方法,实现下图所示的计算器界面的布局。

代码:
import tkinter as tk

root = tk.Tk()#218
root.geometry("300x300")
root.title("计算器")
entry = tk.Entry(root,font=("Arial", 15), bd=2,justify=tk.RIGHT)#font字体 bd加粗 222
entry.grid(row=0, column=0, columnspan=4, padx=10, pady=10, ipadx=10, ipady=10)#232

button_frame = tk.Frame(root)
button_frame.grid()#230
buttons = [
    ["C", "DEL", "BCK", "/"],
    ["7", "8", "9", "*"],
    ["4", "5", "6", "-"],
    ["1", "2", "3", "+"],
    [" ", "0", ".", "="],
]
for i in range(len(buttons)):#将二维列表传入grid布局的按钮
    for j in range(len(buttons[i])):
        button = tk.Button(button_frame, text=buttons[i][j], font=("Arial", 15), width=3, height=1,
                           command=lambda btn_text=buttons[i][j]: cb_click(btn_text))#匿名函数 赋值 执行函数
        button.grid(row=i, column=j, ipadx=13,padx=1, pady=1)

def cb_click(btn_text):
    current_text = entry.get()#获取
    if btn_text == "C":
        entry.delete(0, tk.END)#删除226
    elif btn_text == "DEL":
        entry.delete(len(current_text) - 1)
    elif btn_text == "BCK":
        if len(btn_text) > 0:
            btn_text = list(btn_text)  # 将字符串转换为列表
            btn_text.pop()  # 删除最后一个元素
            entry.delete(0, tk.END)  # 清空输入框

    elif btn_text == "=":
        try:
            result = eval(current_text)
            entry.delete(0, tk.END)
            entry.insert(0, str(result))
            #清空输入框entry中的内容。将计算结果插入到输入框entry的开头
        except:
            entry.delete(0, tk.END)
            entry.insert(0, "Error")#异常报错
    else:
        entry.insert(tk.END, btn_text)#将传入的按钮文本插入到输入框entry的末尾 最后返回try计算

root.mainloop()
页面:

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值