2016-12-28 10 views
1

前に、参照コード: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 

これは私が得るものです。私は何が間違っているのか分かりません。事前に感謝します

答えて

0

あなたの問題はラインx = x + 1です。このエラーは、コードx=0の最初の行に変数xを既に定義していて、x = x + 1ex()関数の中に入れたときに、予約されたキーワードを使用して関数外で定義されたグローバル変数を変更していることをPythonに知らせる必要がありますglobal。あなたは自分のex()関数からこの行を削除した場合、それは良いだろうのでx = x + 1global xを置く

は、それはあなたのex()機能で任意の効果を持っていないx = x + 1あなたの問題を解決しますが。

x=0 
def ex(): 
    u= input (': ') 
    if u =='a': 
     print ('okay') 
     global x  <-------add this line 
     x = x + 1 
ex() 
+0

ありがとうございます –

関連する問題