Бегущие цифры

Что нужно сделать

Вы пишете программу для маленького табло, в котором циклически повторяется один и тот же текст или числа. Например, как в метро, автобусах или трамваях.

Даны список из N элементов и целое число K. Напишите программу, которая циклически сдвигает элементы списка вправо на K позиций. Используйте минимально возможное количество операций присваивания.

Пример 1:

Сдвиг: 1
Изначальный список: [1, 2, 3, 4, 5]
Сдвинутый список: [5, 1, 2, 3, 4]

Пример 2:

Сдвиг: 3
Изначальный список: [1, 4, -3, 0, 10]
Сдвинутый список: [-3, 0, 10, 1, 4]

Что оценивается

  • Результат вычислений корректен.
  • Input содержит корректные приглашения для ввода.
  • Формат вывода соответствует примеру.
  • Переменные и функции имеют значащие имена, не только a, b, c, d
num_list = [1, 2, 3, 4, 5]
step = int(input('Сдвиг: '))
new_list = []
diff = len(new_list) - step

while step != 0:
    for _ in range(step):
        new_list.append(num_list[-step])
        step -= 1

for i in num_list[:diff]:
    new_list.append(i)

print(f'''Изначальный список: {num_list}
Сдвинутый список: {new_list}''')