打印杨辉三角(用二维列表存储) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 要求: 1)先用二维列表存储 2)然后打印二维列表(格式控制可自由发挥)
时间: 2023-12-10 14:39:42 浏览: 29
以下是 Python 实现的代码:
```python
n = int(input("请输入需要打印的行数:"))
# 初始化二维列表
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]
# 打印杨辉三角
for i in range(n):
for j in range(len(triangle[i])):
print(str(triangle[i][j]).center(6), end='')
print()
```
输出结果为:
```
请输入需要打印的行数:7
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
```
相关问题
打印杨辉三角(用二维列表存储),要求: 1)先用二维列表存储 2)然后打印二维列表(格式控制可自由发挥)
好的,下面是用二维列表存储并打印杨辉三角的代码:
```
def generate_yanghui_triangle(num_rows):
triangle = [[1]]
for i in range(1, num_rows):
row = [1]
for j in range(1, i):
row.append(triangle[i-1][j-1] + triangle[i-1][j])
row.append(1)
triangle.append(row)
return triangle
def print_yanghui_triangle(triangle):
max_value_len = len(str(triangle[-1][-1]))
for row in triangle:
row_str = ""
for value in row:
value_str = str(value)
padding_len = max_value_len - len(value_str)
padding = " " * padding_len
row_str += padding + value_str + " "
print(row_str.center(max_value_len * len(row) * 2))
num_rows = 10
triangle = generate_yanghui_triangle(num_rows)
print_yanghui_triangle(triangle)
```
首先,我们定义了一个`generate_yanghui_triangle`函数来生成杨辉三角,它接受一个参数`num_rows`表示需要生成的行数,返回一个二维列表。
然后,我们定义了一个`print_yanghui_triangle`函数来打印杨辉三角,它接受一个二维列表`triangle`作为参数,并按照一定的格式打印出来。具体来说,我们先找到杨辉三角中的最大值,计算出其位数,然后将每个数字转换为字符串,并在其前面填充空格,使得所有数字都对齐。最后,我们使用`center`方法将每一行居中打印出来。
最后,我们调用`generate_yanghui_triangle`函数生成杨辉三角,并将其传递给`print_yanghui_triangle`函数打印出来。
python打印杨辉三角(用二维列表存储)
好的,以下是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循环打印输出杨辉三角。