Return 用 python 递归的帕斯卡三角形的特定线
Return a specific line of pascals triangle recursivly with python
我正在编写的代码应具有如下输出:
>>> pascalLine(0)
[1]
>>> pascalLine(1)
[1, 1]
>>> pascalLine(2)
[1, 2, 1]
>>> pascalLine(3)
[1, 3, 3, 1]
我有通过迭代执行此操作的代码,但我需要递归地完成它,但我在尝试这样做时迷失了方向。这是我的代码:
def pascalLine(n):
value = 1
new_row = [value]
if n == 0:
return new_row
else:
for i in range(n):
value = int((value * (n-i)) / (i+1))
new_row.append(value)
return new_row
欢迎任何帮助!谢谢!
下面的怎么样?
from operator import add
def pascal_line(n):
if n < 2:
return [1]*(n+1)
l = pascal_line(n-1)
return [1] + map(add, l[1:], l[:-1]) + [1]
我正在编写的代码应具有如下输出:
>>> pascalLine(0)
[1]
>>> pascalLine(1)
[1, 1]
>>> pascalLine(2)
[1, 2, 1]
>>> pascalLine(3)
[1, 3, 3, 1]
我有通过迭代执行此操作的代码,但我需要递归地完成它,但我在尝试这样做时迷失了方向。这是我的代码:
def pascalLine(n):
value = 1
new_row = [value]
if n == 0:
return new_row
else:
for i in range(n):
value = int((value * (n-i)) / (i+1))
new_row.append(value)
return new_row
欢迎任何帮助!谢谢!
下面的怎么样?
from operator import add
def pascal_line(n):
if n < 2:
return [1]*(n+1)
l = pascal_line(n-1)
return [1] + map(add, l[1:], l[:-1]) + [1]