# 杨辉三角一般解法 def triangle(n): l=[] #用来存储所有行的返回列表 for i in range(n): if i==0: l.append([1]) # 第一行 elif i==1: l.append([1,1])#第二行 #第三行以后..... else: y = [] # 存储一行,每次清空 for j in range(i+1): if j==0 or j==i: y.append(1)#行首和行末为1 else: y.append(l[i-1][j]+l[i-1][j-1]) l.append(y)#放入所有行存储列表中 return l n=10 #行数12 #杨辉三角输出呈等腰三角形 x=triangle(n) for i in range(len(x)): #字符串有center函数,可以居中打印 s=str(x[i]) print(s.center(n*10))#域宽n*10,两边填充空格
时间: 2024-02-14 18:10:12 浏览: 73
java实现杨辉三角的三种方法(含代码和解析且全面)页.pdf
是的,这段代码也可以用来生成杨辉三角,并且输出结果呈等腰三角形。其中 `triangle` 函数接收一个参数 `n`,表示要生成的杨辉三角的行数。代码如下:
```python
def triangle(n):
l = [] # 用来存储所有行的返回列表
for i in range(n):
if i == 0:
l.append([1]) # 第一行
elif i == 1:
l.append([1, 1]) # 第二行
else:
y = [] # 存储一行,每次清空
for j in range(i + 1):
if j == 0 or j == i:
y.append(1) # 行首和行末为1
else:
y.append(l[i - 1][j] + l[i - 1][j - 1])
l.append(y) # 放入所有行存储列表中
return l
n = 10 # 行数
x = triangle(n)
for i in range(len(x)):
# 字符串有center函数,可以居中打印
s = str(x[i])
print(s.center(n * 10)) # 域宽n*10,两边填充空格
```
输出结果如下:
```
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
[1, 6, 15, 20, 15, 6, 1]
[1, 7, 21, 35, 35, 21, 7, 1]
[1, 8, 28, 56, 70, 56, 28, 8, 1]
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
[1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1]
```
阅读全文