杨辉三角是一个二维列表,其中每个数字是它两肩上的数字之和,在杨辉三角中,每行的第一个和最后一个数字总是1。
(图片来源网络,侵删)
以下是一个Python函数,可以生成指定行数的杨辉三角:
def generate(numRows): res = [] for i in range(numRows): row = [None for _ in range(i+1)] row[0], row[1] = 1, 1 for j in range(1,len(row)1): row[j] = res[i1][j1] + res[i1][j] res.append(row) return res
在这个函数中,我们首先创建一个空的结果列表res
,对于每一行,我们创建一个新的列表row
,并将第一个和最后一个元素设置为1,接着,我们遍历这一行的剩余元素(即中间的元素),并将它们设置为上一行对应位置的元素和前一个元素之和,我们将这一行添加到结果列表中。
如果我们想生成5行的杨辉三角,我们可以这样调用这个函数:
print(generate(5))
这将输出:
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/672812.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复