在同一个循环中,也可以遍历四个斜着的临近点
for i in [-1,1]:
for j in [-1,1]:
# top,left,right,bottom
nx, ny = x+(i+j)//2,y+(i-j)//2
# corners
nx, ny = x+i,y+j
以前都是写死 x+1,y x,y+1... 然后遍历,或者用三角函数循环角度,感觉上面写更简洁
1
ZRS 2019-10-18 00:07:31 +08:00
巧妙
|
2
taotaodaddy 2019-10-18 00:10:25 +08:00 via Android
棒棒
|
3
mskf OP 如果在其他语言中使用 for I = 0 to 1 遍历,只需要在开头加上 i=1-2*I, j=1-2*J 就可以了,下面完全一样
|