Ответы Mail.ru: Помогите с задачей на рекурсию Python

Проблема в текущем коде заключается в том, что переменная i у вас всегда равна 0, из-за чего просто инкрементируется первый элемент списка, и не происходит итерации по остальным элементам. Чтобы исправить эту ошибку и вывести все элементы списка рекурсивно, вы можете использовать индекс элемента как аргумент функции:

 my_list = [0, 5, 6, 1] 
 
def rec(n, i=0):  # Задаем начальное значение i равное 0 
    if i == len(n):  # Условие окончания рекурсии 
        print('Конец списка') 
        return 
    print(n[i])  # Вывод текущего элемента списка 
    rec(n, i + 1)  # Рекурсивный вызов функции для следующего элемента 
 
rec(my_list) 
 

Таким образом, аргумент i будет увеличиваться на 1 с каждым рекурсивным вызовом функции, и функция будет выводить элементы списка по порядку, пока i не достигнет длины списка. После этого будет выведено сообщение "Конец списка".