如何解决我想在python中打印fibonacci系列的fib5以找到否的时间fib0?错误的“功能”对象没有属性“ _args_counter”
import collections
import functools
def check(func):
func._args_counter = collections.Counter()
@functools.wraps(func)
def wrapper(*args):
key = ','.join(str(arg) for arg in args)
func._args_counter[key] += 1
return func(*args)
return wrapper
@check
def fib(n):
if n == 0 or n == 1:
return 1
else:
return fib(n-1) + fib(n-2)
def fib(num):
if num <= 2:
return 1
return fib(num - 1) + fib(num - 2)
print('fib(5) -> {}'.format(fib(5)))
for args,Num in sorted(fib._args_counter.items()):
print('fib({}): called {} time{}'.format(args,Num,'s' if Num > 1 else ''))
#尝试打印fib(5)并计算所有元素重复,但是由于“功能”对象没有属性“ _args_counter”而出现错误
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。