使用Python定义一个函数,输出杨辉三角
时间: 2024-04-25 15:16:45 浏览: 201
可以使用以下代码定义一个函数,输出杨辉三角:
```
def yanghui_triangle(n):
# 定义一个空列表用于存储每一行的元素
row = []
# 循环n次,生成n行杨辉三角
for i in range(n):
# 每一行的第一个元素为1
row.append(1)
# 生成当前行的元素
for j in range(1, i):
row.append(triangle[i-1][j-1] + triangle[i-1][j])
# 每一行的最后一个元素为1
if i > 0:
row.append(1)
# 将当前行的元素以空格分隔输出
print(' '.join(map(str, row)))
# 清空当前行的元素
row.clear()
```
这个函数接受一个正整数n作为参数,然后生成前n行杨辉三角并将结果输出到控制台。函数中使用了一个空列表row来存储每一行的元素,然后在循环中生成每一行的元素,并将其以空格分隔输出。在生成每一行的元素时,我们可以使用杨辉三角的递推公式:每一行的第一个元素和最后一个元素都为1,其余元素为上一行相邻两个元素之和。
相关问题
Python定义一个函数,输出杨辉三角
可以使用以下代码定义一个函数,输出杨辉三角:
```
def yanghui_triangle(n):
row = [1]
for i in range(n):
yield row
row = [1] + [row[j] + row[j+1] for j in range(i)] + [1]
```
其中,n为要输出的杨辉三角的行数。使用yield关键字可以将每一行作为一个生成器对象返回,方便打印输出。可以使用for循环来遍历生成器对象,输出每一行的数字。例如,要输出前10行杨辉三角,可以使用以下代码:
```
for row in yanghui_triangle(10):
print(row)
```
定义一个函数打印杨辉三角
杨辉三角是一个数学上的图形,其中每个数是上方两数之和。以下是一个打印杨辉三角的 Python 函数:
```python
def print_pascal_triangle(n):
triangle = [[1]]
for i in range(1, n):
row = [1]
for j in range(1, i):
row.append(triangle[i-1][j-1] + triangle[i-1][j])
row.append(1)
triangle.append(row)
for row in triangle:
print(" ".join(str(num) for num in row).center(n*2))
```
你可以调用这个函数并传递一个整数参数 `n`,它将打印出一个 `n` 行的杨辉三角。例如,如果你调用 `print_pascal_triangle(5)`,它将打印出以下内容:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
阅读全文