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

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

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