用python写杨辉三角形
时间: 2023-04-03 22:03:11 浏览: 67
您好,我是 C 知道。关于您的问题,我可以回答。以下是用 Python 编写杨辉三角形的代码:
```python
def yanghui_triangle(n):
triangle = []
for i in range(n):
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
# 测试
print(yanghui_triangle(5))
```
输出结果为:
```
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
```
希望能够帮到您。
相关问题
用python打印杨辉三角形10行
好的,以下是用 Python 打印杨辉三角形的代码,可以打印10行:
```python
n = 10 # 控制行数
triangle = []
# 生成杨辉三角形
for i in range(n):
row = [1] * (i + 1)
for j in range(1, i):
row[j] = triangle[i - 1][j - 1] + triangle[i - 1][j]
triangle.append(row)
# 打印杨辉三角形
for i in range(n):
# 左侧对齐
print('{:>{}}'.format('', (n - i) * 2), end='')
for j in range(i + 1):
print('{:^4}'.format(triangle[i][j]), end='')
print()
```
输出结果:
```
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 8 28 56 70 56 28 8 1
```
用Python解决杨辉三角形问题
可以使用Python编写一个函数来解决杨辉三角形问题,代码如下:
```python
def generate_pascal_triangle(num_rows):
triangle = []
for i in range(num_rows):
row = []
for j in range(i + 1):
if j == 0 or j == i:
row.append(1)
else:
row.append(triangle[i - 1][j - 1] + triangle[i - 1][j])
triangle.append(row)
return triangle
```
这个函数的参数是一个整数,表示要生成的杨辉三角形的行数。函数使用两个嵌套的循环来生成每一行的数字,如果当前数字是行首或行尾,就把它设置为1,否则就计算它的值为上一行相邻两个数字的和。最终,函数返回一个包含所有行的列表。
可以调用这个函数来生成指定行数的杨辉三角形,例如:
```python
triangle = generate_pascal_triangle(5)
for row in triangle:
print(row)
```
这将生成一个5行的杨辉三角形,并输出每一行的数字。