嗨我想尝试为Pascal三角形做一个递归函数来计算给定行中的特定值,下面是我的代码,我不断收到以下错误:
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
Run Code Online (Sandbox Code Playgroud)
我的代码到目前为止:
def recursive_pascal(i,j):
if i == 0:
return 1
elif j == 1:
return 1
else:
recursive_pascal(i-1,j-1) + recursive_pascal(i-1,j)
print(recursive_pascal(3,2))
Run Code Online (Sandbox Code Playgroud)
你没有从else条款中返回任何东西.在Python中,如果不从函数返回任何内容,则返回值None.然后,您的函数将尝试添加a None和a int(从基本情况返回),这是不可能的,这也是您收到该错误的原因.你应该把它改成
return recursive_pascal(i-1,j-1) + recursive_pascal(i-1,j)
Run Code Online (Sandbox Code Playgroud)