2015-07-13 200 views
0

我在添加CounterOne變量之前運行了代碼,它運行良好。賦值之前引用的局部變量(CounterOne)

但是在添加CounterOne變量後,編譯器開始給我下面的錯誤。

「局部變量‘CounterOne’分配之前引用的」

CounterOne = 0.00 

def AAPILoad(): 
    return 0 

def AAPIInit(): 
    return 0 

def AAPIManage(time, timeSta, timeTrans, acycle): 
    AKIPrintString("AAPIManage")  

    xy = doSomething() #Read Number of Sections 
    for i in range (xy): 
     id = getID(i) #Read the identifier of a section 
     if (id==331): 
      xyz = DoCal(id,True) #Read the number of vehicles in a section 
      for j in range (xyz): 
       Calculaitons 

       if (0<=distanceFromTrafficLight<=300): 
        if (condition == False) : 
         do calculations 
        else : 
         print ("Condition failed") 

        if (Condition): #Cruising 
         Calval = 0.233+2*someValue 

         CounterOne = CounterOne + Calval 
    return 0 

回答

1
CounterOne 

不是一個全局變量,這就是爲什麼引發錯誤

您既可以使全球這不是recommended或將CounterOne的值傳遞給函數

對於全局方法:

def AAPIManage(time, timeSta, timeTrans, acycle): 
    global CounterOne 
    AKIPrintString("AAPIManage") 

對於功能的方法:

def AAPIManage(time, timeSta, timeTrans, acycle,CounterOne): 

和RETURN CounterOne而不是零

+0

我已經試圖使變量全球這就造成了越來越同樣的錯誤再次。你能否解釋更多關於將值傳遞給函數的信息。我需要計數器在每次運行代碼時更新分配的值 –

+0

感謝百萬隊友。它解決了這個問題。非常感謝你 –

相關問題