2017-04-20 55 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

谢谢!简单,像魅力一样工作! –