Я пытаюсь понять, где хранится общее значение, например, возвращением этой функции является int 15
. Каждое число из списка ввода берется и добавляется по одному и удаляется из списка, но я не вижу, где хранится временное значение. Я получаю только полную сумму?
Также относительно return L[0] + mysum(L[1:])
, если mysum(L[1:])
сохраняет список, как его можно добавить с помощью L[0]
, и если mysum(L[1:])
не хранит список, где хранится список, не потерян ли он, и тогда, конечно, программа не будет знать, какие номера добавить дальше?
код
def mysum(L):
print(L) # Trace recursive levels
if not L: # L shorter at each level
return 0
else:
return L[0] + mysum(L[1:])
total = mysum([1, 2, 3, 4, 5])
print("Total = ", total)
возврат
[1, 2, 3, 4, 5]
[2, 3, 4, 5]
[3, 4, 5]
[4, 5]
[5]
[]
Total = 15