Mariam21072003
20.04.2021 04:48

та!(PYTHON) Напишите программу которая выполняет циклический сдвиг элементов массива вправо на r элементов.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Lizaveta20021
16.01.2021 09:23

К этому:

можно делать сдвиг как вправо, так и влево (на ввод отрицательное число)

Код:

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))

0,0(0 оценок)
Ответ:
соня1582
16.01.2021 09:23

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)

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота