summer12-recursion
summer12-recursion
Recursion
k! = 1 ∗ 2 ∗ . . . ∗ (k − 1) ∗ k.
1! = 1
n! = n ∗ (n − 1)!, for n > 1
1! = 1
n! = n ∗ (n − 1)!, for n > 1
Mathematical definition:
1! = 1
n! = n ∗ (n − 1)!, for n > 1
1! = 1
n! = n ∗ (n − 1)!, for n > 1
def factBad ( n ) :
return n * factBad ( n - 1 )
def isEven ( n ) :
if n == 0:
return True
else :
return isEven ( n - 2)
def c o un t I t e m s I n L i s t ( L ) :
""" Recursively count the number of items in list . """
if L == []: # not L : also works . Why ?
return 0
else :
return 1 + c o u n t I t e m s I n L i st ( L [1:] )
def reverseList ( L ) :
""" Recursively reverse a list . """
if L == []:
return []
else :
return reverseList ( L [1:] ) + [ L [0] ]