Ich versuche ein Programm zu machen, das es zwei Leuten erlaubt, Tic Tac Toe zu spielen. Sie sollten eine Zeile und dann eine Spalte auswählen, dann sollte das Token an diesem Ort platziert werden. Ich bin neu in multidimensionalen Listen und ich kämpfe ein bisschen. Das ist, was ich habe, so weit:Warum erhalte ich einen Fehler, der nicht definiert ist?
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()
Aber dann wirft sie immer den Fehler builtins.NameError: Name ‚Board‘ ist nicht definiert. Kann ich einen ähnlichen Code verwenden wie ich? Oder muss ich irgendwie append() benutzen?
Bitte formatieren Sie Ihren Code richtig. Dies ist fast definitiv ein Problem mit dem Umfang, aber das ist schwer zu diagnostizieren, wenn Sie das Scoping in Ihrem Code verschleiert haben. – Carcigenicate
Aus dem Aussehen davon, sieht es so aus, als ob Sie 'board' innerhalb von' showBoard' definiert haben, was bedeutet, dass es nur von innerhalb von 'showBoard' zugänglich ist. – Carcigenicate
@carcigenicate Ich habe versucht, alles in main zu setzen und jetzt bekomme ich builtins.TypeError: Liste Indizes müssen ganze Zahlen oder Slices sein, nicht str Fehler. Dies scheint sehr frustrierend zu sein. – PyPunk