计算并输出杨辉三角,要求输出左对齐
时间: 2023-07-11 17:11:42 浏览: 138
杨辉三角是一个很经典的数学问题,可以使用Python编程实现。下面是一个简单的程序,可以计算并输出指定行数的杨辉三角:
```python
def pascal_triangle(n):
triangle = [[1]]
for i in range(1, n):
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_triangle(triangle):
max_num = triangle[-1][len(triangle[-1]) // 2]
max_width = len(str(max_num))
for row in triangle:
row_str = " ".join([str(num).rjust(max_width) for num in row])
print(row_str.center(max_width * len(triangle)))
n = 10
triangle = pascal_triangle(n)
print_triangle(triangle)
```
这个程序首先定义了一个函数 `pascal_triangle(n)`,该函数用于计算杨辉三角的前 n 行,并返回一个由多个子列表组成的列表,每个子列表代表杨辉三角的一行。接着定义了另一个函数 `print_triangle(triangle)`,该函数用于将计算得到的杨辉三角打印输出。
在 `print_triangle(triangle)` 函数中,首先找到杨辉三角中最后一行中间位置的元素,以确定数字的最大宽度。然后遍历整个杨辉三角,将每一行的数字转换为字符串,并使用 `rjust()` 方法将其右对齐。最后,将每一行的字符串居中对齐,并打印输出到屏幕上。
阅读全文