
1. 什么是杨辉三角?
杨辉三角,又称帕斯卡三角形,是一个二项式系数的三角形排列,每一行的数字是上一行相邻两个数字之和,它的结构如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
... 2. Python实现杨辉三角
方法一:递归法
递归法是一种直观的方法,通过定义一个函数来生成杨辉三角的每一行。

def generate_pascals_triangle(n):
if n == 1:
return [[1]]
else:
result = generate_pascals_triangle(n-1)
current_row = [1]
last_row = result[-1]
for i in range(len(last_row) 1):
current_row.append(last_row[i] + last_row[i+1])
current_row.append(1)
result.append(current_row)
return result
示例:生成前5行的杨辉三角
triangle = generate_pascals_triangle(5)
for row in triangle:
print(row) 方法二:迭代法
迭代法通过循环逐行构建杨辉三角。
def generate_pascals_triangle(n):
triangle = []
for i in range(n):
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
示例:生成前5行的杨辉三角
triangle = generate_pascals_triangle(5)
for row in triangle:
print(row) 方法三:使用列表推导式
列表推导式可以简化代码,使其更加简洁。
def generate_pascals_triangle(n):
triangle = [[1] * (i + 1) for i in range(n)]
for i in range(2, n):
for j in range(1, i):
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j]
return triangle
示例:生成前5行的杨辉三角
triangle = generate_pascals_triangle(5)
for row in triangle:
print(row) 3. 输出结果
无论使用哪种方法,生成的前5行杨辉三角都会是:

[1] [1, 1] [1, 2, 1] [1, 3, 3, 1] [1, 4, 6, 4, 1]
是三种不同的方法来实现杨辉三角的Python代码,你可以根据需要选择适合你的方法。
以上就是关于“python杨辉三角 _Python”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/87392.html