К этому:
можно делать сдвиг как вправо, так и влево (на ввод отрицательное число)
Код:
def shift(lst, steps):
if steps < 0:
steps = abs(steps)
for i in range(steps):
lst.append(lst.pop(0))
else:
lst.insert(0, lst.pop())
return lst
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
shift_num = int(input("Введите сдвиг массива: "))
print(shift(arr, shift_num))
from array import*
# массив
arr = array('i', [0, 1, 2, 3, 4, 5])
# шаг сдвига
r = 3
# сдвиг
for j in range(len(arr)):
arr[j], arr[(j + r) % r] = arr[(j + r) % r], arr[j]
print(arr)
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
К этому:
можно делать сдвиг как вправо, так и влево (на ввод отрицательное число)
Код:
def shift(lst, steps):
if steps < 0:
steps = abs(steps)
for i in range(steps):
lst.append(lst.pop(0))
else:
for i in range(steps):
lst.insert(0, lst.pop())
return lst
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
shift_num = int(input("Введите сдвиг массива: "))
print(shift(arr, shift_num))
from array import*
# массив
arr = array('i', [0, 1, 2, 3, 4, 5])
# шаг сдвига
r = 3
# сдвиг
for j in range(len(arr)):
arr[j], arr[(j + r) % r] = arr[(j + r) % r], arr[j]
print(arr)