Проблема в решении задачи по программированию на создание и применение генератора

Cоздать функцию-генератор, в которую подаётся список и количество итераций. Генератор выводит элементы списка со случайными индексами (в случайном порядке). Примечание: нельзя выходить за пределы списка; понадобится использование функции random.choice() из модуля random.

Моя попытка:

from random import choice

lst1 = [0,1,2,3,4,5,6,7,8,9]
def ran_gen(lst1):
    for i in lst1:
        print(choice(i))
    yield lst1


next(ran_gen(lst1))

Прошу не зверствовать в комментариях, я новичок и только осваиваю программирование, поэтому ищу помощи:) Заранее благодарю ответивших!


Ответы (1 шт):

Автор решения: Joker

Думаю, должно быть так:

lst1 = [0,1,2,3,4,5,6,7,8,9]
def ran_gen(lst1, count):
    for i in range(count):
        yield choice(lst1)

for i in ran_gen(lst1, 10):
    print (i)

Генератор должен возвращать значение, в вашем примере возвращается аргумент, который ему был передан.

→ Ссылка