您好我正在尝试为Pascal三角形执行递归函数来计算给定行中的特定值,下面是我的代码并且我不断收到以下错误:
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
到目前为止我的代码:
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))
答案 0 :(得分:5)
您没有从else
子句返回任何内容。在Python中,如果您不从函数返回任何内容,则将返回值None
。然后,您的函数将尝试添加None
和int
(您从基本情况返回),这是不可能的,这也是您收到该错误的原因。你应该把它改成
return recursive_pascal(i-1,j-1) + recursive_pascal(i-1,j)