Нумерация и вывод списка
Пример: я чередую завтраки в порядке: гречка-манка-рис. Нужно составить план на следующие n дней. Что должно получиться:
5 дней
1-гречка
2-манка
3-рис
4-гречка
5-манка
вот что выходит у меня, но он каждый продукт прописывает n кол-во раз вместе с нумерацией.
n = int(input("кол-во дней:"))
items = ["гречка", "манка", "рис" ]
for i, item in enumerate (items):
for _ in range (n):
print(i+1, item)
Ответы (1 шт):
Автор решения: Sergey K.
→ Ссылка
Логически твой алгоритм: взять элемент из списка и n раз вывести.
Нужен другой: совершить n циклов и брать следующий элемент, а если дошли до конца, то начать с первого.
items = ["гречка", "манка", "рис" ]
step = 0
for _ in range(n):
if step == len(items):
step = 0
print(items[step])
step += 1
От условия можно избавиться, зная как работает оператор получения остатка от деления %.
items = ["гречка", "манка", "рис" ]
for i in range(n):
step = i % len(items)
print(items[step])
Когда i становится равен количеству элементов, то остаток от деления возвращает 0, и так далее. Получается цикличный перебор без условий