def factorial(n): """Returns the factorial of n, i.e., 1*2*3*...*(n-1)*n.""" result = 1 for i in range(1,n+1): result = result*i return result # fact(n) = { 1 if n=0 } # { n*fact(n-1) otherwise } def fact(n): """Returns the factorial of n, i.e., 1*2*3*...*(n-1)*n.""" print "n=",n if n==0: result = 1 else: result = n*fact(n-1) print "result=",result return result aList = [4,78,1,3] def sumOfList(aList): sum = 0 for n in aList: sum += n return sum # aList = [4,78,1,3] # aList[1:] = [78,1,3] # aList[0] = 4 def sumList(aList): if aList == []: return 0 else: return aList[0]+sumList(aList[1:])