Описание задачи
Программа принимает на вход список и определяет его длину при помощи рекурсии.
Решение задачи
- Инициализируем переменную списком.
- Определяем рекурсивную функцию, которая принимает список в качестве аргумента.
- В качестве базового условия рекурсии примем наличие в списке элементов. Если на вход функции подается пустой список, то функция возвращает
0
и рекурсия останавливается. - В противном случае функция выводит сумму
1
и рекурсивной функции, на вход которой подается исходный список без первого элемента. - После окончания работы функции выводим результат на экран.
- Конец.
Исходный код
Ниже дан исходный код, который осуществляет вычисление длины списка с использованием рекурсии. Результаты работы программы также даны ниже.
def length(lst): if not lst: return 0 return 1 + length(lst[1:]) a = [1, 2, 3] print("Длина списка равна: ") print(length(a))
Объяснение работы программы
- Инициализируем переменную
a
списком. - Определяем рекурсивную функцию
length()
, которая принимает список в качестве аргумента. - В качестве базового условия рекурсии примем наличие в списке элементов. Если на вход функции подается пустой список, то функция возвращает
0
и рекурсия останавливается. - В противном случае функция выводит сумму
1
и рекурсивной функцииlength()
, на вход которой подается исходный список без первого элемента. Это делается при помощи среза спискаlst[1:]
. - После окончания работы функции выводим результат на экран.
Результаты работы программы
Пример 1: Длина списка равна: [1, 2, 3]