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 函数的范围之外,并在那里寻找它