1 3 6 10 15
2 5 9 14
4 8 13
7 12
11

如果把“左下-右上”方向的数字看作一行,就可以得到一个很简单的结构:

1 
2 3 
4 5 6
7 8 9 10
11 12 13 14 15

然后按照“左上-右下”的方向打印就可以了:

a = int(input())
r = []

b = 0
for i in range(a):
    c = []
    for j in range(i + 1):
        b += 1
        c.append(b)
    r.append(c)

for i in range(a):
    for j in range(i, a):
        print(r[j][j-i], end=" ")
    print()