H. Меню питания 2.0

В детском саду ежедневно подают новую кашу на завтрак.

Напишите программу, которая строит расписание каш на ближайшие дни.

Формат ввода

Вводится натуральное число 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)))
Подписаться
Уведомить о
guest
1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
seva
seva
07.07.2025 00:35
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()))))