2017-04-20 96 views
1

我很困惑使用*first_example工程,但爲什麼不second_example工作?Python使用星號(*)

的錯誤狀態:

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

謝謝!簡單,像魅力一樣工作! –