用python写杨辉三角形
时间: 2023-09-28 15:04:11 浏览: 54
以下是用Python写的杨辉三角形代码:
```python
def pascal_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
def print_triangle(triangle):
for row in triangle:
print(" ".join(str(x) for x in row))
n = int(input("请输入杨辉三角形的行数:"))
triangle = pascal_triangle(n)
print_triangle(triangle)
```
代码说明:
- `pascal_triangle` 函数用于生成杨辉三角形,接受一个整数参数 n 表示行数,返回一个二维列表,表示杨辉三角形。
- `print_triangle` 函数用于打印杨辉三角形,接受一个二维列表参数 triangle,将其打印出来。
- 主程序中,首先读取用户输入的行数 n,然后调用 pascal_triangle 函数生成杨辉三角形,最后调用 print_triangle 函数将其打印出来。
相关问题
Python如何写杨辉三角形
Python可以使用循环和列表来写杨辉三角形。下面是一个示例代码:
```python
def generate_pascal_triangle(num_rows):
triangle = []
for i in range(num_rows):
row = [1] * (i + 1)
if i > 1:
for j in range(1, i):
row[j] = triangle[i-1][j-1] + triangle[i-1][j]
triangle.append(row)
return triangle
# 调用函数生成杨辉三角形
num_rows = 5
pascal_triangle = generate_pascal_triangle(num_rows)
# 打印杨辉三角形
for row in pascal_triangle:
print(row)
```
这段代码中,`generate_pascal_triangle`函数接受一个参数`num_rows`,表示要生成的杨辉三角形的行数。函数使用一个二维列表`triangle`来存储杨辉三角形的每一行。通过两层循环,首先初始化每一行的元素为1,然后根据上一行的元素计算当前行的元素值。最后将每一行添加到`triangle`列表中。
在主程序中,我们调用`generate_pascal_triangle`函数生成了一个5行的杨辉三角形,并使用循环打印出每一行的元素。
用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
```