это только одна из школьных работ, которые я делаю, и даже учитель не может ее использовать. каждый раз, когда я нажимаю кнопку распродажу и кнопку пополнения для waterwomen он делает эту ошибкуUnboundLocalError: локальная переменная 'WaterWomen', на которую ссылается перед назначением
Exception in Tkinter callback
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/idlelib/run.py", line 121, in main
seq, request = rpc.request_queue.get(block=True, timeout=0.05)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/queue.py", line 175, in get
raise Empty
queue.Empty
Во время обработки вышеуказанного исключения, другое исключение произошло:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/tkinter/__init__.py", line 1487, in __call__
return self.func(*args)
File "/Users/jiho/Documents/DTS3/version3.py", line 87, in <lambda>
mbutton = Button(mGui,text ='SELL 1',command = lambda: WaterWomenSell()).place (x=20, y=140)
File "/Users/jiho/Documents/DTS3/version3.py", line 50, in WaterWomenSell
Watertext = WaterWomen.get()
UnboundLocalError: local variable 'WaterWomen' referenced before assignment
Код
import sys
from tkinter import *
mGui = Tk()
from tkinter import messagebox
from tkinter import filedialog
def mReset():
if "SuperDude":
SuperDude = 8
elif "LizardMan":
comicstock = 12
else:
comicstock = 3
return
def mQuit():
mExit = messagebox.askyesno(title="Quit",message="Are you sure?")
if mExit >0:
mGui.destroy()
return
def mOpen():
myopen = filedialog.askopenfile()
return
def SuperDudeSell():
Supertext = SuperDude.get()
SuperDude.set(SuperDude.get() - 1)
Superlabel = Label(mGui,text=Supertext).pack
return
def SuperDudeRe():
Supertext = SuperDude.get()
SuperDude.set(SuperDude.get() + 10)
Superlabel = Label(mGui,text=Supertext).pack
return
def LizardManSell():
Lizardtext = LizardMan.get()
LizardMan.set(LizardMan.get() - 1)
Lizardlabel = Label(mGui,text=Lizardtext).pack
return
def LizardManRe():
Lizardtext = LizardMan.get()
LizardMan.set(LizardMan.get() + 10)
Lizardlabel = Label(mGui,text=Lizardtext).pack
return
def WaterWomenSell():
Watertext = WaterWomen.get()
WaterWomen.set(WaterWomen.get() - 1)
WaterWomen = Label(mGui,text=Watertext).pack
return
def WaterWomenRe():
Watertext = WaterWomen.get()
WaterWomen.set(WaterWomen.get() + 10)
WaterWomen = Label(mGui,text=Watertext).pack
return
SuperDude = IntVar()
SuperDude.set('8')
LizardMan = IntVar()
LizardMan.set('12')
WaterWomen = IntVar()
WaterWomen.set('3')
SuperDudeL = Label(textvariable = (SuperDude)).place (x=170, y=20)
LizardManL = Label(textvariable = (LizardMan)).place (x=170, y=70)
WaterWomenL = Label(textvariable = (WaterWomen)).place (x=170, y =120)
mGui.geometry('230x200+500+300')
mGui.title('COMIC BOOK STORE')
mlable = Label(mGui,text='Comic Book Store',fg='purple').place (x=70, y=0)
mlable = Label(mGui,text='<Super Dude> Left stock:').place (x=10, y=20)
mlable = Label(mGui,text='<Lizard Man> Left stock:').place (x=10, y=70)
mlable = Label(mGui,text='<Water Women> Left stock:').place (x=10, y=120)
#Super Dude
mbutton = Button(mGui,text ='SELL 1',command = lambda: SuperDudeSell()).place (x=20, y=40)
mbutton = Button(mGui,text ='RESTOCK 10',command = lambda: SuperDudeRe()).place (x=100, y=40)
#Lizard Man
mbutton = Button(mGui,text ='SELL 1',command = lambda: LizardManSell()).place (x=20, y=90)
mbutton = Button(mGui,text ='RESTOCK 10',command = lambda: LizardManRe()).place (x=100, y=90)
#Water Women
mbutton = Button(mGui,text ='SELL 1',command = lambda: WaterWomenSell()).place (x=20, y=140)
mbutton = Button(mGui,text ='RESTOCK 10',command = lambda: WaterWomenRe()).place (x=100, y=140)
# Menu Construction
Menubar=Menu(mGui)
filemenu = Menu(Menubar, tearoff = 1)
filemenu.add_command(label="Reset",command = mReset)
filemenu.add_command(label="close",command = mQuit)
Menubar.add_cascade(label="File",menu=filemenu)
mGui.config(menu=Menubar)
# SetUp
setupmenu = Menu(Menubar,tearoff = 0)
setupmenu.add_checkbutton(label = "Auto")
Menubar.add_cascade(label="SetUp",menu=setupmenu)
# Help Menu
helpmenu = Menu(Menubar,tearoff = 0)
helpmenu.add_command(label="Help Docs")
Menubar.add_cascade(label="Help",menu=helpmenu)
Можете ли вы сузить пример до минимального набора, который все еще имеет тот же самый симптом? – Denise