私はスタックオーバーフローを初めて経験しました。このプログラムをPythonで作成しています。これは、小さなものと大きなものの2種類のゲームボードオブジェクトを作成するはずです。両方のゲームボードオブジェクトはリストから作られているので、私は後でインデックスを通してボード上の特定のスペースにアクセスできます。大きなボードでは明らかなエラーはありませんが、小さなボードオブジェクトを作成してインデックスを使用して特定のスペースにアクセスしようとすると、「オブジェクトはインデックス作成をサポートしていません」というエラーが表示されます。私は本当に混乱しています、それは大きなボードと一緒に働いたので、私はすでにこのエラーについての他の記事をたくさん読んでいましたが、それらはすべて、実際のリストではないオブジェクトの間違いを見つけるようです。しかし、私はコンストラクタでそれをリストにする必要があると定義します。私はあなたが助けることができることを願っています!1つのリストオブジェクトはインデックス作成をサポートしていませんが、もう1つはインデックス作成をサポートしていますか?
ここではクラスのためのコードです:「equal_small_boards tempboardで[0] = boardA [0] はTypeError: 'SMALLBoard' オブジェクトがない私は、次のコードを実行したとき
import copy
SMALL_BOARD = [ #one list for small board
None, None, None,
None, None, None,
None, None, None,
]
BIG_BOARD = [ #one big list for big board
None, None, None, None, None, None,
None, None, None, None, None, None,
None, None, None, None, None, None,
None, None, None, None, None, None,
None, None, None, None, None, None,
None, None, None, None, None, None,
]
class SMALLBoard():
def __init__(self, board=None):
if board is None:
board = copy.deepcopy(SMALL_BOARD)
self.sboard = board
class BIGBoard():
def __init__(self, bboard=None):
if bboard is None:
bboard = copy.deepcopy(BIG_BOARD)
self.bboard = bboard
def equal_small_boards(self, boardA, boardB, boardC, boardD):
tempboard=BIGBoard()
tempboard[0]= boardA[0]
tempboard[3]= boardB[0]
tempboard[18]= boardC[0]
tempboard[21]= boardD[0]
return tempboard
私はエラーを得ましたインデックス作成をサポートしていません '
bboard = BIGBoard()
sboardA = SMALLBoard()
sboardB = SMALLBoard()
sboardC = SMALLBoard()
sboardD = SMALLBoard()
bboard=bboard.equal_small_boards(sboardA, sboardB, sboardC, sboardD)
お返事ありがとうございます! :)
'tempboard'は' BIGBoard'で、 'BIGBoard'sはインデックス付けをサポートしていません。 –