Подскажите что с переменной ls! `ls+=c` вызывает ошибку: local variable ‘ls’ referenced before assignment

394 просмотра
0
0 Комментариев

def min():
    for i in c2:
        a,b=srsumm(i)#summ/count
        c=a//b#average
        ls+=c#round(c,1)
    print(ls)
    return ls

Пишет, что local variable ‘ls’ referenced before assignment. Но ведь объявлять их не нужно заранее.


Добавить комментарий

2 Answers

Python Опубликовано 16.12.2018
0

Насколько я знаю, нужно её объявить в цикле.

Напишите global ls в цикле.

Добавить комментарий
0

Переменную объявлять не нужно. Но у Вас оператор +=, т.е. он прибавляет к уже имеющемуся значению другое число. Т.е., фактически

ls += c <==> ls = ls + c

Из этой записи видно, что вначале будет взято значение ls, а только потом изменено и присвоено. Поэтому сообщение интерпретатора абсолютно верно.

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up