简体   繁体   English

如何调试错误此文件“compiler.py”,第 8 行 f(n, m+1) = f(n-1, m) + f(n, m) + f(n+1, m) ^ SyntaxError:无法分配给 function 调用

[英]How to debug error this File “compiler.py”, line 8 f(n, m+1) = f(n-1, m) + f(n, m) + f(n+1, m) ^ SyntaxError: can't assign to function call

How to debug it?如何调试它?

def f(n, m):
    while f(n, m) != int(f(n, m)):
        if n == 1:
            return 1
        elif n >= m - 1:
            return 0
        elif n >= 2 and n != m - 1:
            f(n, m+1) = f(n-1, m) + f(n, m) + f(n+1, m)
print(f(2, 4))

In console it appear error here在控制台中,这里出现错误

File "compiler.py", line 8 f(n, m+1) = f(n-1, m) + f(n, m) + f(n+1, m) ^ SyntaxError: can't assign to function call文件“compiler.py”,第 8 行 f(n, m+1) = f(n-1, m) + f(n, m) + f(n+1, m) ^ SyntaxError: can't assign to function 调用

You are writing你在写

f(n, m+1) = f(n-1, m) + f(n, m) + f(n+1, m)

f(n, m + 1) is not a variable, it's a call for a function. f(n, m + 1) 不是变量,它是对 function 的调用。 I don't know what you are trying to achieve here with this weird code.我不知道你想用这个奇怪的代码在这里实现什么。

I know it now just我现在才知道

  def f(n, m):
      if n == 1:
          return 1
      elif n > m:
          return 0
      else:
          return f(n-1, m-1 ) + f(n, m-1 ) + f(n+1, m-1 )
  print(f( 98, 100 ))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM