How to fix when Python says: UnboundLocalError: local variable 'money' referenced before assignment
How to fix when Python says: UnboundLocalError: local variable 'money' referenced before assignment
我的 money 变量有问题。每次我保存 运行 时,都会弹出一个错误,我试图解决这个问题,但不知道如何解决?我真的需要回复所以请尽快。这是我的项目:
money = 0.0
Chop = 0
spike = 0
name = input("What is your name?")
greeting = 'Hello ' + name + ','
def Command():
Command = input('Press \"C\" to continue or Press \"E\" to exit -->')
if name == 'SpikeTheKing':
print('Welcome Spike,')
spike = 1
elif name == 'Spike':
spike = 1
print ('Welcome Spike,')
else:
print(greeting)
def draw_line():
print ('----------------')
def Work1():
Chop = input('Type anything to earn -->')
while Chop == ('C') or ('c'):
print (' earned')
money = money+1
displayMoney()
Chop = 0
Command()
def displayMoney():
draw_line()
print(('Money = '),('$'),(money))
draw_line()
displayMoney()
Work1()
if Command == ('C'):
Work1()
if Command == ('E'):
quit()
每次我保存 运行 都会发生这种情况:
Traceback (most recent call last):
File "C:\Users\Leora\Desktop\Python Files\Python.py", line 35, in <module>
Work1()
File "C:\Users\Leora\Desktop\Python Files\Python.py", line 26, in Work1
money = money+1
UnboundLocalError: local variable 'money' referenced before assignment
我应该改变什么?
在 def Work
代码中,在执行 money = money+1
之前,您需要初始化 money
。所以在 def Work
之后的第一条语句中,执行:money = 0
...
或者,money 是 global
,所以你可以在 def Work
之后的第一行做 global money
而不是 money=0
...
global
关键字告诉解释器,money
定义在 Work
函数的范围之外,并在那里寻找它
我的 money 变量有问题。每次我保存 运行 时,都会弹出一个错误,我试图解决这个问题,但不知道如何解决?我真的需要回复所以请尽快。这是我的项目:
money = 0.0
Chop = 0
spike = 0
name = input("What is your name?")
greeting = 'Hello ' + name + ','
def Command():
Command = input('Press \"C\" to continue or Press \"E\" to exit -->')
if name == 'SpikeTheKing':
print('Welcome Spike,')
spike = 1
elif name == 'Spike':
spike = 1
print ('Welcome Spike,')
else:
print(greeting)
def draw_line():
print ('----------------')
def Work1():
Chop = input('Type anything to earn -->')
while Chop == ('C') or ('c'):
print (' earned')
money = money+1
displayMoney()
Chop = 0
Command()
def displayMoney():
draw_line()
print(('Money = '),('$'),(money))
draw_line()
displayMoney()
Work1()
if Command == ('C'):
Work1()
if Command == ('E'):
quit()
每次我保存 运行 都会发生这种情况:
Traceback (most recent call last):
File "C:\Users\Leora\Desktop\Python Files\Python.py", line 35, in <module>
Work1()
File "C:\Users\Leora\Desktop\Python Files\Python.py", line 26, in Work1
money = money+1
UnboundLocalError: local variable 'money' referenced before assignment
我应该改变什么?
在 def Work
代码中,在执行 money = money+1
之前,您需要初始化 money
。所以在 def Work
之后的第一条语句中,执行:money = 0
...
或者,money 是 global
,所以你可以在 def Work
之后的第一行做 global money
而不是 money=0
...
global
关键字告诉解释器,money
定义在 Work
函数的范围之外,并在那里寻找它