Как уже указывали другие, эта p
переменная, по-видимому, является последовательностью последовательностей. Вы можете проверить это, поставив
print(type(p))
print(type(p[i]))
перед оператором добавления. Вы, вероятно, увидите что-то вроде
tuple
tuple
Если это то, что вы ожидали, то вам нужно перебрать другой индекс массива. Кроме того, ваш q
должен быть возвращен с той же формы? Я подозреваю, что вы хотите что-то еще, как это.
def sense(p, Z):
q = p[:]
for i in range(len(p)):
for j in range(len(p[i])):
hit = (Z == colors[i])
q[i][j] = (p[i][j] * (hit * sensor_right + (1 - hit) * (1-sensor_right)))
s = sum(q)
for i in range(len(q)):
q[i] = q[i]/s
return q
Обратите внимание, что вы также можете захотеть взглянуть на пустые массивы.