Вы дали все, вам просто нужно вернуться из этой функции my_enumerate ()
start = 0 для значения по умолчанию.Если в этом параметре нет значения, когда эта функция будет вызываться откуда-то еще.Таким образом, он присваивает ему значение 0, но здесь, когда вы вызываете эту функцию, вы передаете 1 в качестве параметра, поэтому переменная начала становится равной 1.
Ваша строка для печати в цикле for показывает то, что у вас естьраспечатать, и ваш заданный вывод делает это более понятным.
Вы дали массив уроков, в котором вам нужно просто выполнить итерацию и вернуть результат из функции, но здесь вы должны возвращаться снова и снова из функции, как онавызывает цикл for, поэтому для этой цели мы будем использовать ключевое слово yield .
Ваша функция будет выглядеть следующим образом:
def my_enumerate(iterable, start=0):
for a in iterable:
yield (start, a)
start += 1
Что делает этот код?
Это просто итерация по предоставлению списка и возвращению из функции, которая запускает переменную и элемент списка, и затем увеличение начала, так что в следующий раз у него будет следующий элемент этого списка
Чтобы понятьподробнее о концепции доходности: нажмите здесь