Ссылка на локальную переменную перед назначением

#python-3.x #odoo-12

#python-3.x #odoo-12

Вопрос:

У меня есть фрагмент кода

 for p in activities:
      activity_progress_average =sum([p.activity_progress_compute])
activity_progress_average = activity_progress_average/len(activities)

  

Выдает ошибку

 UnboundLocalError : local variable 'activity_progress_average' referenced before assignment 
  

Комментарии:

1. Если activities значение было пустым, часть внутри цикла не будет выполнена, следовательно, такая переменная activity_progress_average не будет создана.

2. Даже если activity_progress_average инициализировано (например, как 0), пустой activities по-прежнему вызывает проблемы, поскольку среднее значение последней строки затем делится на ноль.

3. вы начинаете с if activities:

4. Я инициализировал переменную tye, и это привело к ошибке деления на ноль, но теперь я понимаю, что на самом деле не так с фрагментом кода ……..