PYTHON 杨辉三角for 循环
时间: 2024-12-11 09:42:39 浏览: 8
Python 中,杨辉三角是一个经典的动态规划问题,它可以用 for 循环和嵌套循环来构建。杨辉三角也被称为帕斯卡三角,每一行的数字都是由上一行的数字相加得到的。以下是使用 for 循环实现的一个简单示例:
```python
def pascal_triangle(n):
triangle = []
for i in range(n):
row = [0] * (i + 1)
if i == 0 or i == 1: # 首行和首列元素为1
row[0] = row[i] = 1
else:
row[0], row[-1] = 1, 1 # 第二行到倒数第二行的第一、最后一个元素初始化为1
for j in range(1, len(row) - 1] + triangle[i - 1][j]
triangle.append(row)
return triangle
# 输出前n行的杨辉三角
n = 5
for i, row in enumerate(pascal_triangle(n)):
print(''.join(str(num) for num in row))
相关问题
python杨辉三角for循环实现
Python中可以使用for循环来实现杨辉三角,这是一个数学术语,表示每一行的数字是由上一行的相邻两个数字相加得到的。以下是简单的for循环实现:
```python
def pascal_triangle(n):
triangle = [[0 for _ in range(n)] for _ in range(n)]
# 设置第一行和第二行
triangle[0] = [1]
if n > 1:
triangle[1] = [1, 1]
# 使用for循环填充剩余的三角形
for i in range(2, n):
for j in range(min(i, n-i), 0, -1][j-1] + triangle[i-1][j]
return triangle
# 打印前几行杨辉三角
for row in pascal_triangle(5):
print(row)
PYTHON 杨辉三角for 循环不使用列表推导式
杨辉三角是一个数学术语,表示的是一个二阶数组,每个数字等于它上面两个数字之和。在Python中,我们可以使用嵌套循环结构来构建杨辉三角,而不使用列表推导式。这里是一个简单的示例:
```python
def yang_hui_triangle(n):
triangle = []
for i in range(n+1): # 遍历从0到n的所有行
row = [None] * (i + 1) # 每行初始化为i+1个元素
row[0], row[-1] = 1, 1 # 对角线元素始终为1
triangle.append(row) # 将当前行添加到结果列表
# 计算剩余非对角线元素
if i > 1:
for j in range(1, i):
row[j] = triangle[i - 1][j - 1] + triangle[i - 1][j]
return triangle
# 示例:打印前5行杨辉三角
for row in yang_hui_triangle(5):
print(row)
```
这个函数会生成并返回前n行的杨辉三角。每次循环内部,我们计算并设置每一行的元素值。这种方法直观地实现了杨辉三角的构建过程。
阅读全文