我和我的伙伴试图在 python 中创建一个有趣的游戏,其中以螺旋方式访问数组中输入的元素。我尝试了一些方法,例如下面给出的方法( 来源)。
def spiral(X, Y):
x = y = 0
dx = 0
dy = -1
for i in range(max(X, Y)**2):
if (-X/2 < x <= X/2) and (-Y/2 < y <= Y/2):
print (x, y)
# DO STUFF...
if x == y or (x < 0 and x == -y) or (x > 0 and x == 1-y):
dx, dy = -dy, dx
x, y = x+dx, y+dy
上面的语句访问螺旋循环中的元素并为定义的数组 AE 打印它们。我想知道如何将给定的阵列 AE 转换为螺旋阵列
原文由 Smple_V 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以通过从矩阵的中心附近开始并始终向右转来构建螺旋,除非已经访问了该元素:
例子: