杨辉三角Python输出个菱形,就是上下对称那种

杨辉三角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