缺少 1 个必需的位置参数 - Python

Missing 1 required positional argument - Python

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]

试试这个:

sequence(type, n-1) + sequence(type, n-2)

错误很明显,函数 sequence 需要两个参数,但您只传递了一个。作为旁注,您应该删除 else,并确保 return memo[n] 在最后执行 - 因为您的函数必须 always return一个值,否则递归将不起作用。