2015-07-13 2 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): 

И ВОЗВРАТ CounterOne вместо нуля

+0

Я уже пытался сделать переменную глобальной, которая привела в получении повторить ту же ошибку. Не могли бы вы объяснить больше о передаче значения функции. Мне нужен счетчик для обновления назначенного значения каждый раз, когда код работает –

+0

Спасибо миллион мат. Он решил проблему. большое спасибо –

Смежные вопросы