リスト「マップ」があり、すべての要素を、初期配列の各位置に作用する関数「counterPosition」のそれぞれの出力値に置き換えたいと思います。
map[0][0] = counterPosition(0,0)
map[0][1] = counterPosition(0,1)
...
そのように一つずつやっていくと答えが出ますが、こういうことをやってみると:
for x in range (len(map)):
for y in range (len(map)):
map[x][y] = counterPosition(x,y)
それは動作しません...私は何か間違ったことをしていますか?
編集:
def counterPosition(x, y):
bombs = 0
for i in range(x-1, x+2):
for j in range(y-1, y+2):
if i<0 or j<0: continue
elif map[i][j] == True:
bombs += 1
return bombs
map = [[True, False, False, False, False, True],
[False, False, False, False, False, True],
[True, True, False, True, False, True],
[True, False, False, False, False, False],
[False, False, True, False, False, False],
[False, False, False, False, False, False]]
エラーは次のとおりです。
IndexError: list index out of range