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() 
+0

它的工作,谢谢你 –