Python расстроен, потому что вы пытаетесь присвоить значение чему-то, чему нельзя присвоить значение.
((t[1])/length) * t[1] += string
Когда вы используете оператор присваивания, вы присваиваете значение того, что находится справа, переменной или элементу слева. В вашем случае слева нет переменной или элемента, а есть интерпретируемое значение: вы пытаетесь присвоить значение чему-то, что не является «контейнером».
Исходя из того, что вы написали, вы просто не понимаете, как работает этот оператор. Просто переключи свои операнды, вот так.
string += str(((t[1])/length) * t[1])
Обратите внимание, что я обернул присвоенное значение в str
, чтобы преобразовать его в str
, чтобы оно было совместимо с переменной string
, которой оно назначается. (Числа и строки не могут быть добавлены вместе.)