Chinaunix首页 | 论坛 | 博客
  • 博客访问: 536518
  • 博文数量: 142
  • 博客积分: 2966
  • 博客等级: 少校
  • 技术积分: 1477
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-07 22:37
文章分类

全部博文(142)

文章存档

2013年(3)

2012年(21)

2011年(53)

2010年(33)

2009年(32)

分类: Python/Ruby

2012-04-27 21:02:27


点击(此处)折叠或打开

  1. #!/usr/bin/python
  2. def memorize(function):
  3.   memo = {}
  4.   def wrapper(*args):
  5.     if args in memo:
  6.       print "returning %s from cache" % memo[args]
  7.       return memo[args]
  8.     else:
  9.       rv = function(*args)
  10.       memo[args] = rv
  11.       return rv
  12.   return wrapper

  13. @memorize
  14. def fibonacci(n):
  15.    "Return the nth fibonacci number."
  16.    from time import sleep
  17.    sleep(1)
  18.    if n in (0, 1):
  19.       return n
  20.    return fibonacci(n-1) + fibonacci(n-2)

  21. print "working out fibonacci(10)..."
  22. print fibonacci(10)

阅读(720) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~