zoukankan      html  css  js  c++  java
  • 基于python中tkinter的计算机实现

    一、源代码

    import tkinter as tk
    class Calculator(tk.Tk):
    def __init__(self):
    tk.Tk.__init__(self)
    self.title("我的计算器")
    self.memory = 0 
    self.Demo()

    def Demo(self):
    """Create the Demo"""
    btn_list = ["C", "(", ")", "/",
    "7", "8", "9", "*",
    "4", "5", "6", "-",
    "1", "2", "3", "+",
    "+/-", "0", ".", "="]
    r = 1
    c = 0
    for b in btn_list:
    self.button = tk.Button(self, text=b, width=5,
    command=(lambda x=b: self.operate(x)))
    self.button.grid(row=r, column=c, padx=3, pady=6)
    c += 1
    if c > 3:
    c = 0
    r += 1
    self.entry = tk.Entry(self, width=21, borderwidth=3,
    bg="light blue", font=("黑体", 11))
    self.entry.grid(row=0, column=0, columnspan=4, padx=8, pady=6)

    def operate(self, key):
    """press the button"""
    if key == "=": 
    result = eval(self.entry.get())
    self.entry.insert(tk.END, " = " + str(result))
    elif key == "C": 
    self.entry.delete(0, tk.END)
    elif key == "+/-": 
    if "=" in self.entry.get():
    self.entry.delete(0, tk.END)
    elif self.entry.get()[0] == "-":
    self.entry.delete(0)
    else:
    self.entry.insert(0, "-")
    else: 
    if "=" in self.entry.get():
    self.entry.delete(0, tk.END)
    self.entry.insert(tk.END, key)

    if __name__ == "__main__":
    Calculator().mainloop()

    二、实现效果

  • 相关阅读:
    信号的阻塞
    善用布尔值
    多线程
    手机号码合理性的判断
    P(n,x)实现
    兄弟分钱、海盗分赃
    简单四则运算的实现
    模板技术
    合并字符串
    交换机和路由器比较
  • 原文地址:https://www.cnblogs.com/ligaojia/p/14102676.html
Copyright © 2011-2022 走看看