私は戦艦ボードにセットされた船を試しています。以下のコードの関数は、多数の船とボード(配列の配列)を引数としてこれを行う必要があります。ターミナルでこれを実行すると、私は次のようになります。[...]はPythonの出力として何を意味しますか?
[[1, [...]], [1, [...]], [2, [...]]]
[...]とはどういう意味ですか? [...]をこの出力の0から2までのランダムな整数に置き換える方法は?
from random import randint
def print_board(board):
for row in board:
print " ".join(row)
def random_row(board):
return randint(0, len(board) - 1)
def random_col(board):
return randint(0, len(board[0]) - 1)
def set_the_ships(num_ships,board):
ship_list = []
for i in range(num_ships):
ship_row = random_row(board)
ship_col = random_col(board)
position = [ship_row,ship_list]
for j in range(i - 1):
while (position[0] == ship_list[j][0] and position[1] == ship_list[j][1]):
ship_row = random_row(board)
ship_col = random_col(board)
position = [ship_row,ship_list]
ship_list.append(position)
return ship_list
print set_the_ships(3,[[0,0,0],[0,0,0],[0,0,0]])
"参照サイクル"とは、リストに自身への参照が含まれていることを意味します。 – kindall
それ自身ではなく、再帰呼び出しの中で既に印刷されているオブジェクトには、例えば次のように考えてください。 'a = []; b = [a]; a.append(b); c = [a];プリントc – lejlot