Нахождение длины списка при помощи рекурсии

Описание задачи

Программа принимает на вход список и определяет его длину при помощи рекурсии.

Решение задачи

  1. Инициализируем переменную списком.
  2. Определяем рекурсивную функцию, которая принимает список в качестве аргумента.
  3. В качестве базового условия рекурсии примем наличие в списке элементов. Если на вход функции подается пустой список, то функция возвращает 0 и рекурсия останавливается.
  4. В противном случае функция выводит сумму 1 и рекурсивной функции, на вход которой подается исходный список без первого элемента.
  5. После окончания работы функции выводим результат на экран.
  6. Конец.

Исходный код

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

def length(lst):
    if not lst:
        return 0
    return 1 + length(lst[1:])
a = [1, 2, 3]
print("Длина списка равна: ")
print(length(a))

Объяснение работы программы

  1. Инициализируем переменную a списком.
  2. Определяем рекурсивную функцию length(), которая принимает список в качестве аргумента.
  3. В качестве базового условия рекурсии примем наличие в списке элементов. Если на вход функции подается пустой список, то функция возвращает 0 и рекурсия останавливается.
  4. В противном случае функция выводит сумму 1 и рекурсивной функции length(), на вход которой подается исходный список без первого элемента. Это делается при помощи среза списка lst[1:].
  5. После окончания работы функции выводим результат на экран.

Результаты работы программы

Пример 1:
Длина списка равна: 
[1, 2, 3]