用python编写程序,利用二维列表生成n行杨辉三角,其中n由用户输入
时间: 2023-07-12 19:05:18 浏览: 44
下面是用 Python 编写的程序,利用二维列表生成 n 行杨辉三角:
```python
n = int(input("请输入杨辉三角的行数:"))
# 创建一个 n 行的二维列表,每一行都初始化为空列表
yanghui_triangle = [[] for i in range(n)]
# 填充杨辉三角的第一列,即每一行的第一个数都为 1
for i in range(n):
yanghui_triangle[i].append(1)
# 填充杨辉三角的其他数
for i in range(1, n):
for j in range(1, i+1):
# 杨辉三角中每个数都等于上一行中相邻两个数之和
yanghui_triangle[i].append(yanghui_triangle[i-1][j-1] + yanghui_triangle[i-1][j])
# 输出杨辉三角
for row in yanghui_triangle:
print(row)
```
运行程序后,输入行数 n,就可以得到 n 行杨辉三角的结果。例如,输入 n=5,输出结果如下:
```
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
```
相关问题
python编写程序:二维数组构建八行杨辉三角,用直角三角形的形式输出
很高兴回答您的问题!以下是python代码实现八行杨辉三角的输出:
```
n = 8 # 控制杨辉三角的行数
yang_hui = [] #初始化杨辉三角数组
for i in range(n):
line = [1] # 每行的第一个数是1
for j in range(1, i):
line.append(yang_hui[i-1][j-1] + yang_hui[i-1][j]) # 计算当前值
if i > 0:
line.append(1) # 每行的最后一个数是1
yang_hui.append(line)
# 输出杨辉三角
for i in range(n):
for j in range(i+1):
print(yang_hui[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
```
希望能帮到您!
Python使用二维列表储存杨辉三角
好的,我来给你介绍一下如何使用Python储存杨辉三角。
在Python中,我们可以使用二维列表来储存杨辉三角。具体实现如下:
```python
# 定义一个二维列表,用于储存杨辉三角
triangle = []
# 输入要生成的行数
n = int(input("请输入要生成的杨辉三角的行数:"))
# 生成杨辉三角
for i in range(n):
# 定义每一行的列表
row = []
for j in range(i+1):
# 杨辉三角的左右两侧都是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)
# 输出杨辉三角
for row in triangle:
for num in row:
print(num, end=" ")
print()
```
以上代码中,我们首先定义了一个空的二维列表`triangle`,用于储存杨辉三角。然后,我们输入要生成的行数`n`。接下来,我们使用两层循环生成杨辉三角。外层循环控制行数,内层循环控制每一行的数字。在内层循环中,我们判断当前位置是否是杨辉三角的左右两侧,如果是,则该位置上的数字为1;否则,该位置上的数字为上一行相邻两个数字之和。每生成一行数字,我们就将该行添加到二维列表`triangle`中。最后,我们使用两层循环输出杨辉三角。
希望这个代码对你有所帮助!