В детском саду ежедневно подают новую кашу на завтрак.
Напишите программу, которая строит расписание каш на ближайшие дни.
Формат ввода
Вводится натуральное число M — количество каш в меню. В каждой из последующих M строк записано одно название каши. В конце передается натуральное число N — количество дней.
Формат вывода
Вывести список каш в порядке подачи.
Примечание
Советуем изучить документацию на функцию itertools.islice(), которая реализует срезы на основе итераторов.
Пример
Ввод
5
Манная
Гречневая
Пшённая
Овсяная
Рисовая
3Вывод
Манная
Гречневая
ПшённаяВвод
5
Манная
Гречневая
Пшённая
Овсяная
Рисовая
12Вывод
5
Манная
Гречневая
Пшённая
Овсяная
Рисовая
12Решение
Для решения этой задачи нам пригодятся функции cycle() и islice() из модуля itertools.
Первая позволяет «гонять список по кругу», а вторая умеет «вырезать» нужное количество элементов из списка.
Посмотреть код
Решение
Python
from itertools import cycle, islice
porridges = [input() for _ in range(int(input()))]
days = int(input())
print('\n'.join(islice(cycle(porridges), days)))
from itertools import cycle, islice porridges = [input() for _ in range(int(input()))] print('\n'.join(islice(cycle(porridges), int(input())))) #другое решение без itertools porridges = [input() for _ in range(int(input()))] print('\n'.join(porridges[i % len(porridges)] for i in range(int(input()))))