Задача 8. Бегущие цифры

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

Дан список из 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]

Решение:

def main():
    task = []
    number = int(input('Сколько будет задач: '))
    for i in range(number):
        task_id = int(input('Введите номер задачи: '))
        task.append(task_id)
    print('Изначальный список:', task)
    shift = int(input('Сдвиг: '))
    task = task[-shift:] + task[:-shift]
    print('Сдвинутый список:', task)

if __name__ == '__main__':
    main()

3520login-checkЗадача 8. Бегущие цифры

Добавить комментарий