说我有一个度值数组,像这样:
DEGREES = [
0, 15, 30, 45, 60,
75, 90, 105, 120,
135, 150, 165, 180,
195, 210, 225, 240,
255, 270, 285, 300,
315, 330, 345,
]
Run Code Online (Sandbox Code Playgroud)
我会选择一个角度,然后能够将这个假设圆二等分,以便更轻松地找到到达目标方向的最短路径。
这样说,我如何选择一个特定的值(例如)90,然后能够找到该值后面的前12个元素,包括结束时环绕的索引?
因此,采用该更早的值并将其应用于该列表,我将得到如下信息:
[90, 75, 60, 45, 30, 15, 0, 345, 330, 315, 300, 285, 270]
Run Code Online (Sandbox Code Playgroud)
使用切片符号,我尝试这样做:
index = DEGREES.index(90)
print(DEGREES[index-12:index]) # start 12 values back, stop at index
Run Code Online (Sandbox Code Playgroud)
但这只会打印一个空数组。
有没有办法对列表进行切片,这样我就可以得到所使用索引后面的12个先前值?
编辑:
原来这是一个XY问题,我不好。最初,我试图在Pygame中创建一个平滑的旋转系统,但尝试计算角度不起作用,我问了这个问题以解决另一个我尝试实现的想法的问题。我最终接受了有助于建立平滑旋转系统的答案,但是下面的原始问题有相关答案。