杨辉三角Python输出个菱形,就是上下对称那种,也可以左右对称,重复输出
下面是一个杨辉三角形Python代码示例,望采纳:
n = 5 # 表示菱形的高度
# 构造杨辉三角形
triangle = []
for i in range(n):
if i == 0:
triangle.append([1])
elif i == 1:
triangle.append([1, 1])
else:
row = [1]
for j in range(i-1):
row.append(triangle[i-1][j] + triangle[i-1][j+1])
row.append(1)
triangle.append(row)
# 输出上半部分
for i in range(n):
# 每行前面补空格
for j in range(n-i):
print(" ", end="")
# 输出杨辉三角形中的数字
for j in range(i+1):
print(triangle[i][j], end=" ")
print()
# 输出下半部分
for i in range(n-2, -1, -1):
# 每行前面补空格
for j in range(n-i):
print(" ", end="")
# 输出杨辉三角形中的数字
for j in range(i+1):
print(triangle[i][j], end=" ")
print()
输出结果如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 4 6 4 1
1 3 3 1
1 2 1
1 1
1
如果你想要左右对称的菱形,可以在上述代码中把 range(n-i) 替换为 range((n-i)*2),即:
# 每行前面补空格
for j in range((n-i)*2):
print(" ", end="")
输出结果就变成了如下样子:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 3 3 1
1 2 1
1 1
1