打印杨辉三角(用二维列表存储),要求: 1)先用二维列表存储 2)然后打印二维列表(格式控制可自由发挥)
时间: 2023-12-13 15:05:59 浏览: 33
好的,下面是用二维列表存储并打印杨辉三角的代码:
```
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`函数打印出来。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)