当前位置: 首页 > 工具软件 > calc24 > 使用案例 >

Calc 个人计算器 python

蒙才
2023-12-01

import tkinter as tk
class Calc(tk.Tk):
‘’‘计算器窗体类’’’
def init(self):
‘’‘初始化实例’’’
tk.Tk.init(self)
self.title(“PY计算器”)
self.memory = 0 #暂存数值
self.create()

def create(self):
    '''创建界面'''
    btn_list=["C","M->","->M","/","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.click(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=24,borderwidth=2,bg="grey",font=("Consolas",12))
        self.entry.grid(row=0,column=0,columnspan=4,padx=8,pady=2)

def click(self,key):
    '''响应按钮'''
    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=="->M":#存入数值
        self.memory=self.entry.get()
        if "=" in self.memory:
            self.memory =self[ix+2:]
        self.title("M="+self.memory)
    elif key=="M->":#取出数值
        if self.memery:
            self.entry.insert(tk.END,self.memory)
    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”:
Calc().mainloop()

 类似资料: