斐波那契测量算法实现:缺少 1 个必需的位置参数:'p'



我已经实现了一个具有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个必需的参数";。有人知道为什么和解决方案或任何建议将不胜感激!

可能存在两个潜在问题。

  1. 您正在调用一个函数F,该函数似乎没有在所附的代码段中定义。如果它应该递归地调用自己,那么您可能希望将其更改为fibonacci_of。此外,由于fibonacci_of接受两个参数,因此需要使用两个参数来调用它
  2. 如果F已经在其他地方定义,那么它应该接受多个参数。您可以查看其功能定义并查看参数要求。参见所附示例
def square(a): # Requires single parameter.
return a ** 2
def add(a, b): # Requires two parameters.
return a + b

最新更新