题解 | 蛇形矩阵
import sys #先建立一个n*n的矩阵,里面都放0 后面打印的时候可以把0删掉 n = int(input()) l = [[0]*n for i in range(n) ] #初始值为1,坐标为0,0 va = 1 x,y = 0,0 l[x][y] = va #当下一个坐标(也就是x+1或者y+1)仍然在列表中时,就继续循环 while x+1 < n and y+1 < n: while x == 0: #只要到了第1排,那么下一次就是在最新的那一排的第0列 va += 1 x = y+1 y = 0 l[x][y]= va while x>0: #只要不在第1排,那就往右上角移动————x-1,y+1 va += 1 x = x-1 y = y+1 l[x][y]=va #打印这个列表中不为0的数 for i in l: for j in i: if j != 0: print(j,end = " ") print()