Python的错误 - UnboundLocalError:局部变量 'X' 分配
问题描述:
之前提到的代码:Python的错误 - UnboundLocalError:局部变量 'X' 分配
x=0
def ex():
u= input (': ')
if u =='a':
print ('okay')
x = x + 1
ex()
错误:
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
ex()
File "<pyshell#2>", line 5, in ex
x = x + 1
UnboundLocalError: local variable 'x' referenced before assignment
这是我得到的。我不知道什么是错的。在此先感谢
答
您的问题是在线x = x + 1
。你得到这个错误是因为你已经在你的代码的第一行x=0
中定义了变量x
,并且在ex
()函数内部做x = x + 1
时,你需要让python知道你正在使用保留关键字修改定义在函数外部的全局变量global
。
配售global x
之前x = x + 1
将解决您的问题,但x = x + 1
它不是在你的ex()
功能的作用,所以它会更好,如果你只是从你的ex()
功能删除此行。
x=0
def ex():
u= input (': ')
if u =='a':
print ('okay')
global x <-------add this line
x = x + 1
ex()
它的工作,谢谢你 –