python代码实现杨辉三角的算法

以下代码实现的需求是生成指定行数的杨辉三角。杨辉三角是一个数学三角形,其中的每一个数字都是由上面两个数字相加得到的,其形状如下:

       1
      1 1
     1 2 1
    1 3 3 1
   1 4 6 4 1
  1 5 10 10 5 1

在杨辉三角中,第 n 行有 n 个数字,第一行为 1,每个数字是由上面两个数字相加得到的。

下面是Python实现杨辉三角的算法:

def generate_pascal_triangle(num_rows):
    """
    生成指定行数的杨辉三角
    """
    triangle = []
    for i in range(num_rows):
        row = [1] * (i + 1)
        for j in range(1, i):
            row[j] = triangle[i-1][j-1] + triangle[i-1][j]
        triangle.append(row)
    return triangle

个函数可以生成指定行数的杨辉三角。它使用一个二维列表来存储三角形的每一行,然后在循环中使用公式 triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j] 来计算每一个位置上的数字。最后返回整个杨辉三角。