python打印杨辉三角(用二维列表存储)
时间: 2024-01-16 12:05:03 浏览: 41
好的,以下是Python代码实现杨辉三角(使用二维列表存储):
```python
def generate(numRows):
triangle = []
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] = triangle[i-1][j-1] + triangle[i-1][j]
triangle.append(row)
return triangle
n = 5
result = generate(n)
for i in range(n):
print(' '*(n-i), end='')
for j in range(i+1):
print(result[i][j], end=' ')
print()
```
其中,generate函数用于生成杨辉三角的二维列表,n表示杨辉三角的行数,result存储了生成的杨辉三角,最后使用两层for循环打印输出杨辉三角。
相关问题
Python使用二维列表储存杨辉三角
好的,我来给你介绍一下如何使用Python储存杨辉三角。
在Python中,我们可以使用二维列表来储存杨辉三角。具体实现如下:
```python
# 定义一个二维列表,用于储存杨辉三角
triangle = []
# 输入要生成的行数
n = int(input("请输入要生成的杨辉三角的行数:"))
# 生成杨辉三角
for i in range(n):
# 定义每一行的列表
row = []
for j in range(i+1):
# 杨辉三角的左右两侧都是1
if j == 0 or j == i:
row.append(1)
# 其他位置上的数是上一行相邻两个数之和
else:
row.append(triangle[i-1][j-1] + triangle[i-1][j])
# 将这一行添加到二维列表中
triangle.append(row)
# 输出杨辉三角
for row in triangle:
for num in row:
print(num, end=" ")
print()
```
以上代码中,我们首先定义了一个空的二维列表`triangle`,用于储存杨辉三角。然后,我们输入要生成的行数`n`。接下来,我们使用两层循环生成杨辉三角。外层循环控制行数,内层循环控制每一行的数字。在内层循环中,我们判断当前位置是否是杨辉三角的左右两侧,如果是,则该位置上的数字为1;否则,该位置上的数字为上一行相邻两个数字之和。每生成一行数字,我们就将该行添加到二维列表`triangle`中。最后,我们使用两层循环输出杨辉三角。
希望这个代码对你有所帮助!
用二维列表存储杨辉三角,最后打印二维列表
好的,下面是用二维列表存储杨辉三角的 Python 代码:
```python
def generate_pascal_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
def print_pascal_triangle(n):
# 获取杨辉三角的二维列表
triangle = generate_pascal_triangle(n)
# 打印二维列表
for row in triangle:
print(' '.join(map(str, row)).center(n*3))
# 测试
print_pascal_triangle(5)
```
输出结果:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```