我是一个Python呆子,但我不明白为什么这不起作用。我所要做的就是输出一个包含两个值的2d列表[[1,2],[3,4]],我花了一上午的大部分时间试图弄清楚这个问题,所以我只想寻求帮助。在
class Tiling:
def __init__(self, width, height, tileSize):
self._width = width
self._height = height
self._tileSize = tileSize
self._numTiles = (width / tileSize) * (height / tileSize)
self._positions = []
def tileMap(self):
i = 0
yCounter = 0
x = []
y = []
for j in range(0, self._width, 32):
x.append(j)
for k in range(0, self._height, 32):
y.append(k)
while len(self._positions) < (self._numTiles):
self._positions.append([x[i], y[yCounter]])
if self._positions[i][0] == self._width:
i = 0
yCounter = yCounter + 1
if i < len(x):
i = i + 1
return self._positions
tileObject = Tiling(800, 608, 32)
test = tileObject.tileMap()
print(test)
回溯是:
^{pr2}$
如果我们有一个包含
n
项的列表,则返回n
的len
函数。在但是由于一个列表的索引,从
zero
开始,如果我们想遍历它,必须循环到n-1
。在所以改变这一行:
收件人:
^{pr2}$现在您的代码可以运行:
我想你想要这样的东西:
如果发布的代码是正确的,那么只有1个项目被放入y(附加到y的行不在循环中)。在
相关问题 更多 >
编程相关推荐