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.
This part is important to understand how recursion works- there is usually a similar question in Exam 3!!
def f(x): if x <= 1: return 1 temp = f(x - 1) return x * temp def main(): a = f(4) # Statement 1 main()
def reverse(s): if len(s) <= 1: return s return s[-1] + reverse(s[0:-1]) def main(): a = reverse('H') # Statement 1 b = reverse('seawolf') # Statement 2 main()
def mystery(x): if x == 0: return 0 return (x % 10) + mystery(x // 10) def main(): a = mystery(46213) main()
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()