用python编写函数,接收一个整数n作为参数,打印杨辉三角前n行
时间: 2024-05-31 10:08:38 浏览: 13
def print_yanghui(n):
# 初始化杨辉三角列表
yanghui = [[1], [1, 1]]
# 打印前两行杨辉三角
for i in range(2):
print(" " * (n - i - 1), end="")
for j in range(i + 1):
print(yanghui[i][j], end=" ")
print()
# 打印后面的杨辉三角
for i in range(2, n):
row = [1]
for j in range(1, i):
row.append(yanghui[i-1][j-1] + yanghui[i-1][j])
row.append(1)
yanghui.append(row)
print(" " * (n - i - 1), end="")
for num in row:
print(num, end=" ")
print()
# 测试函数
print_yanghui(5)
相关问题
python编写函数,接受一个整数n为参数,打印杨辉三角的前n行
好的,这个问题属于编程问题,我可以为您回答。以下是实现杨辉三角的 Python 代码:
```python
def printPascal(n):
# 初始化二维列表,表示每一行的数字
pascal = [[1] * (i+1) for i in range(n)]
# 循环计算每个数字
for i in range(n):
for j in range(1, i):
pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j]
# 打印杨辉三角
for i in range(n):
print(' '*(n-i-1), end='')
for j in range(i+1):
print(pascal[i][j], end=' ')
print()
# 调用函数打印前n行杨辉三角
printPascal(5)
```
输出结果为:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
python编写函数,接收一个整数t为参数,打印杨辉三角前t行
可以参考下面的代码实现:
```python
def print_yanghui_triangle(t):
triangle = []
for i in range(t):
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 row in triangle:
print(' '.join(map(str, row)).center(t*2))
```
使用一个二维列表 `triangle` 存储杨辉三角的所有行,首先生成第一行 `[1]`,然后逐行计算得到下一行,一直计算到第 `t` 行为止。最后使用 `join` 函数和 `center` 函数将每一行的数字格式化并居中打印出来。
使用示例:
```python
print_yanghui_triangle(5)
```
输出结果:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```