用Python写一个杨辉三角
时间: 2024-03-06 10:22:44 浏览: 31
以下是一个简单的 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
n = int(input("请输入行数:"))
triangle = yanghui_triangle(n)
for i in range(n):
print(' '*(n-i-1), end='')
for j in range(i+1):
print(triangle[i][j], end=' ')
print()
```
运行结果:
```
请输入行数:6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```
相关问题
用python写一个杨辉三角
好的,下面是用 Python 写一个杨辉三角的代码:
```python
def generate(numRows):
triangle = []
for i in range(numRows):
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
n = 5
result = generate(n)
for i in range(n):
print(" "*(n-i), end="")
for j in range(i+1):
print(result[i][j], end=" ")
print()
```
这段代码可以生成一个高为 `numRows` 的杨辉三角,并且输出它的图形。你可以将 `numRows` 设置为任意的数值,来生成不同高度的杨辉三角。
用python写一个杨辉三角形
下面是用Python写的杨辉三角形代码:
```python
# 定义一个函数,用来打印杨辉三角形
def print_triangle(n):
# 初始化二维列表
triangle = [[1] * (i + 1) for i in range(n)]
# 从第三行开始计算,每个数等于上一行对应位置和前一个位置的数之和
for i in range(2, n):
for j in range(1, i):
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j]
# 打印杨辉三角形
for row in triangle:
print(' '.join([str(i) for i in row]).center(n*2))
# 调用函数,打印一个6层的杨辉三角形
print_triangle(6)
```
输出结果为:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```