2017-04-20 5 views
1

私は*を使うことについて混乱します。 first_exampleが動作しますが、なぜsecond_exampleは機能しませんか?Python star(*)を使用

エラー状態:

UnboundLocalError: local variable 'a' referenced before assignment

私はこのエラーを修正するために何ができますか?

a, b, c, d, e, f, g, h, i = range(1,10) 
alphabet = [a, b, c, d, e, f, g, h, i] 

def first_example(*alphabet): 
    j = g + i 
    print (j) 
    second_example(*alphabet) 

def second_example(*alphabet): 
    a = a + 1 
    print (a) 

first_example(*alphabet) 
+2

'*'は問題ではありません。 'a = a + 1'は –

+0

私はそれを修正するために何ができますか? –

+0

second_example()に 'global a'を追加します。 –

答えて

1

ない(alphabetパラメータが使用されていないので)あなたが何をしようとして確認、またはあなたが*が問題であるが、これは問題を解決すると思う理由。

def second_example(*alphabet): 
    global a # add this 
    a = a + 1 
    print (a) 
+0

ありがとう!シンプルで魅力的な作品です! –