Code Explanation:
def mystery(n, acc=0):
This function is recursive and calculates something (we'll reveal what it is shortly).
n: the main number we're working with.
acc: short for "accumulator", used to keep track of a running total. Default is 0.
2. Base Case: When n == 0
if n == 0:
return acc
If n becomes 0, the function returns the accumulated value acc.
This stops the recursion — the base case.
3. Recursive Case: Add n to acc and Recurse
return mystery(n - 1, acc + n)
If n is not 0:
Subtract 1 from n
Add current n to acc
Call mystery() again with these new values.
4. Call the Function: print(mystery(4))
Let's trace the recursive calls:
Call n acc Computation
mystery(4) 4 0 → mystery(3, 4)
mystery(3, 4) 3 4 → mystery(2, 7)
mystery(2, 7) 2 7 → mystery(1, 9)
mystery(1, 9) 1 9 → mystery(0, 10)
mystery(0, 10) 0 10 → return 10
Final Output
print(mystery(4)) # Output: 10
Output:
10
.png)

0 Comments:
Post a Comment