temp = arr
не копирует список.Он только создает новую ссылку, которая указывает на тот же список.Для копирования вы можете использовать temp = arr[:]
def left_rotation(n,d,arr):
temp = arr[:]
for i in range(n):
print(temp[i]) # here is the problem
if (i-d < 0):
arr[i+n-d] = temp[i]
else:
arr[i-d] = temp[i]
return arr
print(left_rotation(5, 4,[1,2,3,4,5]))
Это должно работать.Пример вывода1:
>>> print(left_rotation(5,2,[1,2,3,4,5]))
1
2
3
4
5
[3, 4, 5, 1, 2]
Пример вывода2:
>>> print(left_rotation(5,1,[1,2,3,4,5]))
1
2
3
4
5
[2, 3, 4, 5, 1]