Ваша проблема arr.index(elem)
возвращает только первый индекс elem
в списке arr
.
Для демонстрации:
>>> lst = [1, 2, 3, 1, 2]
>>> lst.index(1)
0
>>> lst.index(2)
1
>>> lst.index(3)
2
Вместо этого используйте enumerate
, чтобы отслеживать индекс при переборе списка, например:
def find_even_index(arr):
for i, _ in enumerate(arr):
if sum(arr[:i]) == sum(arr[i+1:]):
return i
print(find_even_index([1,2,3,4,3,2,1])) # 3
print(find_even_index([20,10,30,10,10,15,35])) # 3