自定义函数打印杨辉三角形
时间: 2023-08-29 21:07:25 浏览: 52
好的,下面是实现杨辉三角形的自定义函数:
```python
def print_yanghui_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)
max_width = len(str(triangle[-1][-1])) * 2
for row in triangle:
print(' '.join(str(num).center(max_width) for num in row))
```
这个函数接收一个整数 n 作为参数,打印 n 行杨辉三角形。例如,如果 n=5,那么输出将会是以下内容:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
希望这个函数能够满足您的需求。
相关问题
python自定义函数打印杨辉三角形
可以使用递归的方式打印杨辉三角形,代码如下:
```python
def print_triangle(n):
if n == 0:
return
print_triangle(n-1)
row = [1]
for i in range(1, n):
row.append(row[-1] * (n-i) // i)
print(' '.join(map(str, row)).center(2*n-1))
print_triangle(5)
```
输出结果为:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
打印出杨辉三角(要求打印出10行)用自定义函数输出三角形
好的,以下是代码实现:
```python
def generate_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(map(str, row)))
triangle = generate_triangle(10)
print_triangle(triangle)
```
解释一下代码:
- `generate_triangle(n)` 函数用于生成杨辉三角,输入参数 `n` 表示要生成的行数,返回值为一个列表,其中每个元素也是一个列表,表示杨辉三角的一行。
- `print_triangle(triangle)` 函数用于输出杨辉三角,输入参数 `triangle` 是一个列表,表示要输出的杨辉三角。
- 在主程序中,先调用 `generate_triangle(10)` 生成一个包含 10 行的杨辉三角,然后调用 `print_triangle(triangle)` 输出这个三角形。
希望这个答案能够满足你的要求!
阅读全文