Описание задачи
Программа принимает на вход список со вложенными списками и находит сумму элементов всех вложенных списков при помощи рекурсии.
Решение задачи
- Инициализируем переменную списком, в котором содержатся вложенные списки.
- Передаем этот список в качестве аргумента в рекурсивную функцию для вычисления суммы всех элементов.
- В теле этой функции используем одновременно цикл и рекурсию, для того чтобы достать все элементы из вложенных списков и сложить их друг с другом.
- На выходе функции выдается сумма всех элементов всех вложенных списков. Причем вложенных списков может быть сколько угодно.
- Выводим этот результат на экран.
- Конец.
Исходный код
Ниже дан исходный код, который осуществляет нахождение суммы всех элементов списка со вложенными списками при помощи рекурсии. Результаты работы программы также даны ниже.
def sum1(lst):
total = 0
for element in lst:
if (type(element) == type([])):
total = total + sum1(element)
else:
total = total + element
return total
print("Сумма элементов равна:", sum1([[1, 2], [3, 4]]))
Объяснение работы программы
- Инициализируем переменную списком, в котором содержатся вложенные списки.
- Передаем этот список в качестве аргумента в рекурсивную функцию
sum1()для вычисления суммы всех элементов. - В теле этой функции создаем переменную
total, в которой будем суммировать элементы списков. - Далее используем цикл
forи рекурсию одновременно — для того, чтобы достать все элементы из вложенных списков и сложить их друг с другом. - На выходе функции выдается сумма всех элементов всех вложенных списков. Причем вложенных списков может быть сколько угодно.
- Выводим этот результат на экран.
Результаты работы программы
Пример 1: Сумма элементов равна: 10

