Я относительно новичок в программировании, и я страдаю от того, что кажется простой проблемой.Python - локальная переменная, указанная перед назначением
Вот фрагмент кода, который вызывает проблемы (она является частью этой большой функции: http://pastebin.com/2apwWsEv):
for i in range(4,12): # remove nulls
if not row[i]:
row[i] = False
if row[i] and (i % 2): # odd rows (time)
print row[i]
time = row[i].split(':')
row[i] = int(time[0]) * 3600 + int(time[1]) * 60 + int(time[2])
Выход:
row[i] = int(time[0]) * 3600 + int(time[1]) * 60 + int(time[2])
UnboundLocalError: local variable 'time' referenced before assignment
Кажется, я присвоил time
значение row[i].split(':')
, поэтому я не понимаю, где ошибка.
Я попытался изменить второй оператор if
(на более обычный elif
и т. Д.), Но это не изменило ошибку.
(поле времени, данных в формате CSV, в формате чч: мм: сс, и я стараюсь, чтобы преобразовать его в секундах.)
Может кто-то пожалуйста, объясните, как time
используется до его назначения?