我已经实现了一个具有2个参数n和p的fibonacci Measurement算法。
我有这个问题,
TypeError Traceback (most recent call last)
<ipython-input-19-295638b26e62> in <module>
2 N = 10
3 # [F(n,p) for n in range(N)]
----> 4 print(F(10,1))
<ipython-input-12-fda62c8ec9a6> in F(n, p)
6 elif n <= p+1:
7 return n
----> 8 return F(n-1) + F(n-p-1)
TypeError: F() missing 1 required positional argument: 'p'
我输入了2个参数n=10,p=1,但仍然存在这个问题";缺少1个必需的参数";。有人知道为什么和解决方案或任何建议将不胜感激!
可能存在两个潜在问题。
- 您正在调用一个函数
F
,该函数似乎没有在所附的代码段中定义。如果它应该递归地调用自己,那么您可能希望将其更改为fibonacci_of
。此外,由于fibonacci_of
接受两个参数,因此需要使用两个参数来调用它 - 如果
F
已经在其他地方定义,那么它应该接受多个参数。您可以查看其功能定义并查看参数要求。参见所附示例
def square(a): # Requires single parameter.
return a ** 2
def add(a, b): # Requires two parameters.
return a + b