Почему данный код мне возвращает None после работы, хотя должен возвращать 28?
def sum(arr,summary):
i = len(arr) - 1
if i < 0:
return summary
summary += arr[i]
del arr[i]
sum(arr,summary)
total = 0
array = [1,8,4,3,5,7]
value = sum(array,total)
print(value)
Сама задача должна решаться рекурсией, так что про циклы мне можно не писать. Если возможно, просто объясните, почему у меня не тот результат.
Vindicar, Если я ставлю его в конец функции например так:
def sum(arr,summary):
i = len(arr) - 1
if i < 0:
return
summary += arr[i]
del arr[i]
sum(arr,summary)
return summary
То у него значение начинает уменьшатся и доходит до первого, которое было, то есть 7.
Я думал что return вернёт значение сразу же, но он снимает задачи из стека и только потом выходит :(