我正在做一个作业,要求我用递归函数创建一个Pascal三角形。以下是我迄今为止所做的,以及我被赋予的工作。我对Python和编程还很陌生,所以我不知道该从这里开始,任何帮助都将不胜感激!在
def combination(n, k):
print((n - 1) / (k - 1)) + ((n - 1) / k)
def pascals_triangle(rows):
for row in range(rows):
answer = ""
for column in range(row + 1):
answer = answer + combination(row, column) + "\t"
print(answer)
pascals_triangle(5)
事实上,你根本没有在你的答案中使用递归。我想你是想把公式nCk=(n-1)C(k-1)+(n-1)Ck编码。因此,您需要从自身内部调用
combination
(使用“end”条件的保护:nC0=nCn=1):输出:
^{pr2}$请注意,这是一种非常低效的方法:每次获得二项式系数时,都会用相同的参数多次调用
combination
。您可以考虑在执行过程中缓存找到的系数。在代码的另一个问题是,
combination
函数实际上并没有返回任何内容,它只是打印一个值并退出(返回None
)。在相关问题 更多 >
编程相关推荐