在Python中,杨辉三角可以通过多种方式实现。以下是几种常见的实现方法:
方法一:列表方式
```python
def generate_pascals_triangle(n):
triangle = []
for row_num in range(n):
row = * (row_num + 1)
if row_num > 1:
for col_num in range(1, row_num):
row[col_num] = triangle[row_num - 1][col_num - 1] + triangle[row_num - 1][col_num]
triangle.append(row)
return triangle
def print_pascal_triangle(n):
triangle = generate_pascals_triangle(n)
for row in triangle:
print(' '.join(map(str, row)))
示例:生成并打印前10行杨辉三角形
print_pascal_triangle(10)
方法二:迭代器方式
```python
def triangle():
N =
while True:
yield N
N = [N[i] + N[i + 1] for i in range(len(N) - 1)] +
def print_triangle(n):
for i, row in enumerate(triangle()):
print(' '.join(map(str, row)).center(2 * n - 1))
示例:生成并打印前10行杨辉三角形
print_triangle(10)
方法三:更简洁的迭代器方式
```python
def generate_pascals_triangle(n):
def generate(row):
yield row
while True:
row = [sum(pair) for pair in zip( + row, row + )]
yield row
return list(generate(tuple()))[:n]
def print_pascal_triangle(n):
triangle = generate_pascals_triangle(n)
for row in triangle:
print(' '.join(map(str, row)))
示例:生成并打印前10行杨辉三角形
print_pascal_triangle(10)
以上代码示例展示了如何使用Python生成和打印杨辉三角形。您可以根据需要选择合适的方法。