私はチェスを作りたいですが、私は1つの質問と混同しました。チェス盤と駒をリンクさせるには?チェス盤は、その上に駒、座標をピースにリンクする方法は?
chessboard = [(x, y) for x in range(8) for y in range(8)]
ポーンとリストされるように:
pawns = []
for pawnY in range(8):
pawn = (pawnY, 1)
pawns.append(pawn)
次の私は、座標を交換しようとしました。私はちょうど私SyntaxError: invalid syntax
[chessboard[chessboard.index(e)] = '♟' for i, e in enumerate(pawns) if e in chessboard]
、これを与える次のコードの違いは、何か分からないが、これは動作します:
for i, e in enumerate(pawns):
if e in chessboard:
chessboard[chessboard.index(e)] = '♟'
出力:
print(chessboard)
[(0, 0), (1, 0), (2, 0), (3, 0), (4, 0), (5, 0), (6, 0), (7, 0), '♟', '♟', '♟', '♟', '♟', '♟', '♟', '♟', (0, 2), (1, 2), (2, 2), (3, 2), (4, 2), (5, 2), (6, 2), (7, 2), (0, 3), (1, 3), (2, 3), (3, 3), (4, 3), (5, 3), (6, 3), (7, 3), (0, 4), (1, 4), (2, 4), (3, 4), (4, 4), (5, 4), (6, 4), (7, 4), (0, 5), (1, 5), (2, 5), (3, 5), (4, 5), (5, 5), (6, 5), (7, 5), (0, 6), (1, 6), (2, 6), (3, 6), (4, 6), (5, 6), (6, 6), (7, 6), (0, 7), (1, 7), (2, 7), (3, 7), (4, 7), (5, 7), (6, 7), (7, 7)]
だから、何を座標をピースとリンクさせ、それらを操作する必要がありますか?あなたは私に助言の平和を与えることができますか?
リストの理解の中で代入文を使用できないため、SyntaxErrorが発生しています。 2つのデータを一緒に「リンク」したいときは、辞書を使ってみてください。 (これはコメントであり、答えではないので、少し曖昧です。) – Kevin
リスト内包表記を使用して新しいリストを作成します。実行しようとしているときに既存のリストに値を割り当てるのに使用することはできません。あなたの2番目の実例は最初のものに似ているかもしれませんが、実際にはかなり異なっています。 – sizzzzlerz