私は2人でチックタックを弾くことができるプログラムを作りようとしています。彼らは行と列を選択する必要があり、トークンはその場所に配置する必要があります。私は多次元リストには新しく、少し苦労しています。なぜ私は定義されていないエラーになっていますか?
def showBoard():
board = [[0,0,0,],
[0,0,0],
[0,0,0]]
print("-------------")
print('|',board[0][0], '|',board[0][1], '|',board[0][2],'|')
print("|---+---+---|")
print ('|',board[1][0], '|',board[1][1], '|',board[1][2],'|')
print("|---+---+---|")
print ('|',board[2][0], '|',board[2][1], '|',board[2][2],'|')
print("-------------")
def playerX():
row = input("Enter a row (0, 1, or 2) for player X: ")
column = input("Enter a column (0 , 1, or 2) for player X: ")
board[row][column] = "X"
def main():
showBoard()
playerX()
main()
しかし、それは常にbuiltins.NameErrorエラースロー:これは私がこれまで持っているものです名「ボード」が定義されていませんが。 私はそれに似たコードを使ってもよいでしょうか?または、何らかの形でappend()を使用する必要がありますか?
コードを正しくフォーマットしてください。これはほぼ間違いなくスコープの問題ですが、コード内のスコープを難読化したときに診断するのは難しいです。 – Carcigenicate
しかし、見た目からは、 'showBoard'の中に' board'が定義されているように見えます。意味は 'showBoard'の中からしかアクセスできません。 – Carcigenicate
@carcigenicate私はすべてをメインに入れようとしましたが、現在はbuiltins.TypeErrorを取得しています:リストインデックスは、strエラーではなく、整数またはスライスでなければなりません。これは非常にイライラしているようです。 – PyPunk