В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
Серг4й
Серг4й
03.08.2021 02:50 •  Информатика

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

Ответ:
123456532
123456532
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 оценок)
Ответ:
данич36
данич36
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?