TypeError: sequence() missing 1 required positional argument: 'n', sequence()
显然当使用sequence(n-1) + sequence(n-2)
时,n没有使用函数中的值,我该怎么做才能修复它?
memo = {0:0,1:1}
def sequence(type, n):
if type == "fibonacci":
if not n in memo:
memo[n] = sequence(n-1) + sequence(n-2)
else:
return memo[n]
答案 0 :(得分:2)
试试这个:
sequence(type, n-1) + sequence(type, n-2)
错误是显式的,函数sequence
期待两个参数,但是你只传递一个。作为旁注,您应该删除else
,并确保最后执行return memo[n]
- 因为您的函数必须始终返回值,否则递归获胜不行。