本文共 953 字,大约阅读时间需要 3 分钟。
n,m=map(int,input().split())r,c=map(int,input().split())mark=[[0 for _ in range(m)]for _ in range(n)]arr = [[0 for _ in range(m)] for _ in range(n)]#print(mark[0][0])i=1;x=0;y=0while(i<17): #第一部分 列索引y #mark都为了第四部分和第二论 while(y0就结束,这是向左遍历常用写法 while(y>=0 and mark[x][y]==0): #这里y要>=0,不能单纯>0,y有索引0 mark[x][y]=1 arr[x][y]=i y-=1 i+=1 y+=1 x-=1 while(x>=0 and mark[x][y]==0): mark[x][y]=1 arr[x][y]=i x-=1 i+=1 x+=1 y+=1 #print(i)print(arr[0][0],arr[1][1],arr[1][2],arr[0][1],arr[1][0],arr[2][1],arr[3][0])
写好运行开始发现是这样的,看到第三部分和第四部分while没有写入值,检查发现漏了y和x的索引值0
while (表达式): if 或 for i in x: #嵌套 xxxx=xxx 中间部分 i+=1/i-+1 结束部分 缩减值,表达式填缩减或最大值的范围,例如 i0,结束while
转载地址:http://dyhr.baihongyu.com/