CS 115 Lab 14, Part A: Recursion practice

[Back to lab instructions]


Before you start writing your own code, you'll use the the online Python 3 tutor to trace the execution of recursive functions. Try to predict what will happen before stepping through the code in the tutor.

  1. Enter the following code into the tutor:
    def mystery(x):
        if x == 0: return 0
        return (x % 10) + mystery(x // 10)
    
    
    def main():
        a = mystery(46213)
    
    
    main()
    
  2. Trace through the execution of the function calls, and answer Questions 1 and 2 in your writeup.
  3. Enter the following code into the tutor:
    def mystery2(L, i):
        if len(L) <= i: return 0
        return L[i] + mystery2(L, i + 1)
    
    
    def mystery1(L):
        return mystery2(L, 0)
    
    
    def main():
        a = mystery1([4, 10, 1, 3])
    
    
    main()
    
  4. Trace through the execution of the function calls, and answer Questions 3 and 4 in your writeup.
  5. Continue to Part B.