题解 | 蛇形矩阵

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()

全部评论

相关推荐

06-19 19:06
门头沟学院 Java
码农索隆:别去东软,真学不到东西,真事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务