<p>我已经修正了所有的语法错误。我已经把你的错误注释掉了。还有一些逻辑错误。你知道吗</p>
<pre><code>from tkinter import Tk,Frame,Entry,Button
#import tkinter
n1=0
n2=0
operator=''
win=Tk()
frame=Frame(win)
frame.pack()
win.title('Justin Calculator')
END='end'
txtdisplay=Entry(frame,textvariable=n1,bd=30,insertwidth=1,font=30)
#why have you added unnecessary indentation?
txtdisplay.pack(side='top')
def one():
txtdisplay.insert(END,1)
def two():
txtdisplay.insert(END,2)
def three():
txtdisplay.insert(END,3)
def four():
txtdisplay.insert(END,4)
def five():
txtdisplay.insert(END,5)
def six():
txtdisplay.insert(END,6)
def seven():
txtdisplay.insert(END,7)
def eight():
txtdisplay.insert(END,8)
def nine():
txtdisplay.insert(END,9)
def action(arg):
txtdisplay.insert(END,arg)
def add():
global n1
operator='+'
n1=float(txtdisplay.get())
txtdisplay.delete(0,END)
def addition(x,y):
txtdisplay.insert(END,str(addition)(n1+n2))
return x+y #the statement after return statement will never get executed
Topframe=Frame(win)
Topframe.pack(side='top')
num1=Button(Topframe,padx=6, pady=6, bd=5, text='1',command=one,fg='blue')
num1.pack(side='left')
num2=Button(Topframe,padx=6,pady=6,bd=5,text='2',command=two,fg='blue')
num2.pack(side='left')
num3=Button(Topframe,padx=6,pady=6,bd=5,text='3',command=three,fg='blue')
num3.pack(side='left')
# side= LEFT or TOP does not work. follw the dicumentation
centerframe=Frame(win)
centerframe.pack(side='top')
num4=Button(centerframe,padx=6,pady=6,bd=5,text='4',command=four,fg='red')
num4.pack(side='left')
num5=Button(centerframe,padx=6,pady=6,bd=5,text='5',command=five,fg='red')
num5.pack(side='left')
num6=Button(centerframe,padx=6,pady=6,bd=5,text='6',command=six,fg='red')
num6.pack(side='left')
centerframe=Frame(win)
centerframe.pack(side='top')
num7=Button(centerframe,padx=6,pady=7,bd=5,text='7',command=seven,fg='black')
num7.pack(side='left')
num8=Button(centerframe,padx=6,pady=7,bd=5,text='8',command=eight,fg='black')
num8.pack(side='left')
num9=Button(centerframe,padx=6,pady=7,bd=5,text='9',command=nine,fg='black')
num9.pack(side='left')
centerframe=Frame(win)
centerframe.pack(side='top')
subtraction=Button(centerframe,padx=6,pady=7,bd=5,text='-',fg='black')
subtraction.pack(side='left')
num0=Button(centerframe,padx=6,pady=7,bd=5,text='0',fg='black')
num0.pack(side='left')
ExitBtn=Button(centerframe,padx=6,pady=7,bd=5,text='Exit',command=win.destroy,fg='black')
ExitBtn.pack(side='left')
centerframe=Frame(win)
centerframe.pack(side='top')
_add=Button(centerframe,padx=6,pady=7,bd=5,text='+',command=add,fg='black')
_add.pack(side='left')
subtraction=Button(centerframe,padx=6,pady=7,bd=5,text='-',fg='black')
subtraction.pack(side='left')
multiplication=Button(centerframe,padx=6,pady=7,bd=5,text='*',fg='black')
multiplication.pack(side='left')
division=Button(centerframe,padx=6,pady=7,bd=5,text='/',fg='black')
division.pack(side='left')
_equal=Button(centerframe,padx=6,pady=7,bd=5,text='=',fg='black')
_equal.pack(side='left')
bottomframe=Frame(win)
bottomframe.pack(side='top')
clear=Button(bottomframe,padx=6,pady=6,bd=5,text='Clear')
clear.pack(side='left')
win.mainloop()
</code></pre>