Сумма элементов списка рекурсивно
Напишите рекурсивную функцию rec_linear_sum(some_list), которая вычисляет сумму элементов переданного в неё линейного списка вещественных чисел, то есть такого списка, в котором нет вложений.
Мой код:
def rec_linear_sum(some_list):
def sumL(some_list, s, i):
if i < 0:
return s
else:
return sumL(some_list, s + some_list[i], i - 1)
return sumL(some_list, 0, len(some_list) - 1)
Чекер пишет, что я не использую рекурсию, но я пытался решить как раз через нее.
Помогите с рекурсией.
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
я бы попроще написал:
def sum_(items):
assert hasattr(items, "__getitem__"), "parameter [items] must be iterable"
assert len(items), "parameter [items] must be of a non-zero length"
if len(items) < 2:
return items[0]
return items[0] + sum_(items[1:])