计算并输出杨辉三角
时间: 2023-07-11 18:11:42 浏览: 89
杨辉三角,又称帕斯卡三角,是一个由数字组成的三角形,在计算组合数时有很多应用。以下是一个简单的Python程序,用于计算并输出杨辉三角:
```python
def generate_pascal_triangle(num_rows):
triangle = []
for i in range(num_rows):
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
def print_pascal_triangle(triangle):
max_num = triangle[-1][len(triangle[-1]) // 2]
max_digits = len(str(max_num))
for row in triangle:
row_str = " ".join([str(num).rjust(max_digits) for num in row])
print(row_str.center(max_digits * len(row)))
num_rows = 10
triangle = generate_pascal_triangle(num_rows)
print_pascal_triangle(triangle)
```
在这个程序中,我们定义了两个函数:generate_pascal_triangle用于生成杨辉三角,print_pascal_triangle用于输出杨辉三角。
generate_pascal_triangle函数接受一个参数num_rows,表示要生成杨辉三角的行数。函数返回一个二维列表,表示生成的杨辉三角。
print_pascal_triangle函数接受一个参数triangle,表示要输出的杨辉三角。函数首先计算出杨辉三角中最大的数字,然后根据最大数字的位数来格式化输出每一行的数字。
在主程序中,我们使用num_rows=10来生成10行的杨辉三角,并使用print_pascal_triangle函数来输出杨辉三角。程序的输出结果如下所示:
```
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
```
输出结果中,杨辉三角被居中显示,并且每个数字的位数都被对齐。