斐波那契数列1,1,2,3,5,8,13,21……

#!/usr/bin/env python
# encoding: utf-8

def fib(n):
    if n == 1 or n == 2:
        return  1
    else:
         return fib(n-1) + fib(n-2)


print fib(6)


汉诺塔 
#!/usr/bin/env python
# encoding: utf-8

count  = 0

def hanoi(n,a='左',b='中',c="右"):
    global count
    if n  ==  1:
        format = 'Move %3d from % 5s to % 5s    count:%i'
        count += 1
        print format % (n,a,c,count)
    else:
        hanoi(n-1,a,c,b)
        format = 'Move %3d from % 5s to % 5s    count:%i'
        count +=1
        print format % (n,a,c,count)
        hanoi(n-1,b,a,c)


hanoi(4)



回文数
def  is_panlindrom_rec(arg):
    if len(arg) <=1:     
        return True
    else:
        if arg[0] != arg[-1]
            return False
        else:
            return is_panlindrom_rec(arg[1:-1])




阶乘
def p(n):
    if n == 1 or n == 0:
        return 1
    else:
        return n * p(n-1)



随机停车
#!/usr/bin/env python
# encoding: utf-8

import random

def parking(low,high):
    if high - low < 1:
        return 0
    else:
         x = random.uniform(low,high-1)
         return  1 + parking(low,x) \
             + parking(x+1,high)



print parking(0,9)