找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 4523|回复: 1

[求助] 这段python错在哪里?

1

主题

1

帖子

5

积分

贫民

积分
5
zjq777007 发表于 2014-2-8 10:07:32 | 显示全部楼层 |阅读模式
是网上一篇文章,讲尾递归优化的
代码如下:

  1. import sys
  2. class TailRecurseException:
  3. def __init__(self, args, kwargs):
  4. self.args = args
  5. self.kwargs = kwargs

  6. def tail_call_optimized(g):
  7. def func(*args, **kwargs):
  8. f = sys._getframe()
  9. if f.f_back and f.f_back.f_back and f.f_back.f_back.f_code == f.f_code:
  10. raise TailRecurseException(args, kwargs)
  11. else:
  12. while 1:
  13. try:
  14. return g(*args, **kwargs)
  15. except TailRecurseException, e:
  16. args = e.args
  17. kwargs = e.kwargs
  18. func.__doc__ = g.__doc__
  19. return func
复制代码



#使用方法:在要递归的python代码开头加上这段代码,然后在开头调用@tail_call_optimized即可
可是我在python 3.3下运行是这行:except TailRecurseException, e: 语法错误,怎么回事?
回复

使用道具 举报

1

主题

2

帖子

9

积分

贫民

积分
9
kerwin 发表于 2014-2-8 16:22:25 | 显示全部楼层
先把缩进搞定吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表