Как накопить значения внутри функции, без второго параметра, по условию в objects может быть передан и кортеж
def universal_summ(*objects, total=[]):
for i in objects:
if not isinstance(i, list):
total.append(i)
elif isinstance(i, list):
for j in i:
universal_summ(j)
return sum(total)
print(universal_summ([[1, 2, [3]], [1], 3]))
print(universal_summ([[1, 2, [3]], [1], 3]))
Ответы (1 шт):
Автор решения: diduk001
→ Ссылка
Добро пожаловать на StackOverflow!
Вы можете создать переменую result с результатом выполнения функции и возвращать её. Чтобы сделать проверку на кортеж, вы так же можете использовать функцию isinstance
def universal_summ(*objects):
result = 0
for i in objects:
if isinstance(i, tuple) or isinstance(i, list):
result += universal_summ(*i)
else:
result += i
return result