用python写杨辉三角
时间: 2023-10-01 20:04:52 浏览: 35
好的,下面是用 Python 实现杨辉三角的代码:
```
def pascal_triangle(n: int) -> list[list[int]]:
result = []
for i in range(n):
if i == 0:
result.append([1])
else:
result.append([1])
for j in range(i - 1):
result[i].append(result[i-1][j] + result[i-1][j+1])
result[i].append(1)
return result
print(pascal_triangle(5))
```
这段代码会输出前五行的杨辉三角,输出结果为:
```
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
```
其中,第 `i` 行第 `j` 列的数字表示为 `result[i][j]`。
杨辉三角的每一行的第一个数和最后一个数都是1,其他的数都是上一行的相邻两个数之和。我们可以根据这个规则来构造杨辉三角。
相关问题
用python写杨辉三角形
以下是用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
def generate_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
# 测试代码
triangle = generate_triangle(5)
for row in triangle:
print(row)
```
输出结果:
```
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
```
以上代码中,`generate_triangle` 函数接受一个参数 `num_rows`,表示要生成的杨辉三角的行数。函数使用一个二维列表 `triangle` 来存储杨辉三角的每一行,然后在循环中依次生成每一行,并将其添加到 `triangle` 列表中。在生成每一行时,先初始化为全 1 的列表 `row`,然后使用循环计算出 `row` 中除了第一个和最后一个元素之外的其他元素。每一行生成完后,将其添加到 `triangle` 列表中,最后返回 `triangle` 列表。