2017-10-27 3 views
0

Battleship in Pythonのようなゲームを作成しようとしています。私の現在のコードは船を隠し、あなたが船の位置を推測するならば(座標はデバッグ目的のために表示されます)私のエラーは、1つではなく、すべての行の項目のテキストを変更していることです。Pythonは2dリストの1つのリストで1つの要素を変更します

from random import randint 
board = [] 
board = [["O"]*5]*5 
def print_board(board): 
    for row in board: 
     print(" ".join(row)) 
print_board(board) 
ship_row = randint(0, len(board)-1) 
ship_col = randint(0, len(board[0])-1) 
print(ship_row, ship_col) 
gr = input("Guess row: ") 
gc = input("Guess column: ") 
if gr == ship_row and gc == ship_col: 
    board[ship_row][ship_col] = "X" 
print_board(board) 
+1

お困りですか?あなたは何を持っているのですか?どのようなデバッグをして解決していますか? – Carcigenicate

+0

私は質問をする前に、どんなdupeが終わったのかを知っているのが好きです。これは、非常に共通した、明らかではない問題です。特に、多くの初めのpythonリソースは、[somevalue] * N ''長さ 'N 'のリストを作成する(あなたは' [範囲(N)の_にいくつかの値を入れる] ') –

答えて

1
board = [["O"]*5]*5 

おめでとう、あなたが今、同じリストの5つのコピーを持っています。

関連する問題