使用python编写一个简单的计算器

代码:

结果:

 

代码解析:

def test(content):
    return content.isdigit()


testCMD = root.register(test)


e1 = Entry(frame,textvariable=n1,width=10,validate="key",\
           validatecommand=(testCMD,'%P')).grid(row=0,column=0)

e2 = Entry(frame,textvariable=n2,width=10,validate="key",\
           validatecommand=(testCMD,'%P')).grid(row=0,column=2)

这一部分代码是为了让第一个和第二个输入框中只能输入数字,对于字母、汉字、特殊字符等

会进行判定不允许输入进输入框中

e3 = Entry(frame,textvariable=n3,width=10,state="readonly")\
     .grid(row=0,column=4)

此行代码定义第三个输入框,但是其中的“   state="readonly"   ”表示此输入框只允许进行读取和copy不允许对齐进行输入内容

def calc():
    result = int(n1.get()) + int(n2.get())
    n3.set(str(result))

定义计算过程与结果并将其进行类型转换方便后面输出结果

要是想简单的将此加法计算器改为其他类型的计算器,只需要在此步骤更改齐运算方式即可

Button(frame,text="计算结果",command=calc).grid(row=1,column=2,padx=5,pady=5)
Button(frame,text="退出",command=frame.quit).grid(row=1,column=4,padx=5,pady=5)

定义两个按钮:输出结果和退出

注释:代码中的row以及column分别代表行和列,适当的调整可以使程序更加的美观

如下图: 

 图中的(0,0)分别代表着(row=0,column=0)也就是第0行,第0列

同理(1,4)代表(row=1,column=4),也即是第1行,第4列

要注意在python中row以及column的起始值是0