无注释(下面还有有注释的)::
A = [1] * 5
for i in range(5):
A[i] = [1] * 5
for ni in range(2, 5):
for j in range(1, ni):
A[ni][j] = A[ni - 1][j] + A[ni - 1][j - 1]
for ni in range(5):
for j in range(ni + 1):
if j == 0:
for j1 in range(5 - ni):
print(" ", end="")
print(A[ni][j], end=" ")
print(" ")
运行结果:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
# 快捷生成五行五列的二维列表,每个元素默认值为1
A = [1] * 5
for i in range(5):
A[i] = [1] * 5
# 计算每一行除了第一个和最后一个数以外的值
# 一二行的值都是1,求值从第三行开始
for ni in range(2, 5):
# ni的在循环中最后一个值为4
# 放在内层循环后ni只能取到3,对应一行中的第四个值
# 满足不计算最后一个数的要求(索引是从0开始的)
for j in range(1, ni):
A[ni][j] = A[ni - 1][j] + A[ni - 1][j - 1]
# 遍历二维容器输出值,ni+1保证取到最后一个值
for ni in range(5):
for j in range(ni + 1):
# 第0列输出的空格
if j == 0:
for j1 in range(5 - ni):
print(" ", end="")
# 输出值
print(A[ni][j], end=" ")
# 换行
print(" ")
运行结果:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1