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] 来计算每一个位置上的数字。最后返回整个杨辉三角。

 
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定