-1

So I am trying to make a tic tack toe game and ive done the board fine but when creating a loop def I've asked for input but when I run it, I'm never prompted to input my move

board = [["1", "2", "3"], ["4", "X", "6"], ["7", "8", "9"]]

def display_board(board):
    print("+-------+-------+-------+")
    print("|       |       |       |")
    print("|   " + board[0][0] + "   |   " + board[0][1] + "   |   " + board[0][2] + "   |")
    print("|       |       |       |")
    print("+-------+-------+-------+")
    print("|       |       |       |")
    print("|   " + board[1][0] + "   |   " + board[1][1] + "   |   " + board[1][2] + "   |")
    print("|       |       |       |")
    print("+-------+-------+-------+")
    print("|       |       |       |")
    print("|   " + board[2][0] + "   |   " + board[2][1] + "   |   " + board[2][2] + "   |")
    print("|       |       |       |")
    print("+-------+-------+-------+")

def enter_move(board):

    while True:

        move = int(input("Please pick a number within the range of squares (1-9): "))

        if move < 1 or move > 9:
            print("Error please pick a number 1 through 9: ")
            continue
        elif move not in [0] and move not in [1] and move not in [2]:
            print("Sorry please try another move that square is already taken!")
            continue
        elif move == 1:
            board[0][0] == "O"
        elif move == 2:
            board[0][1] == "O"
        elif move == 3:
            board[0][2] == "O"
        elif move == 4:
            board[1][0] == "O"
        elif move == 6:
            board[1][2] == "O"
        elif move == 7:
            board[2][0] == "O"
        elif move == 8:
            board[2][1] == "O"
        elif move == 9:
            board[2][2] == "O"

        break

im expecting it for me to input an integer when I click run but nothing happens

Nishant
  • 20,354
  • 18
  • 69
  • 101

1 Answers1

0

You haven't called the enter_move() function in your code. Write this at the end of your code!

if __name__ == "__main__":
    enter_move(board)

Or you can directly use while loop with out calling enter_move() function like:

board = [["1", "2", "3"], ["4", "X", "6"], ["7", "8", "9"]]


def display_board(board):
    print("+-------+-------+-------+")
    print("|       |       |       |")
    print("|   " + board[0][0] + "   |   " + board[0][1] + "   |   " + board[0][2] + "   |")
    print("|       |       |       |")
    print("+-------+-------+-------+")
    print("|       |       |       |")
    print("|   " + board[1][0] + "   |   " + board[1][1] + "   |   " + board[1][2] + "   |")
    print("|       |       |       |")
    print("+-------+-------+-------+")
    print("|       |       |       |")
    print("|   " + board[2][0] + "   |   " + board[2][1] + "   |   " + board[2][2] + "   |")
    print("|       |       |       |")
    print("+-------+-------+-------+")


while True:

    move = int(input("Please pick a number within the range of squares (1-9): "))

    if move < 1 or move > 9:
        print("Error please pick a number 1 through 9: ")
        continue
    elif move not in [0] and move not in [1] and move not in [2]:
        print("Sorry please try another move that square is already taken!")
        continue
    elif move == 1:
        board[0][0] == "O"
    elif move == 2:
        board[0][1] == "O"
    elif move == 3:
        board[0][2] == "O"
    elif move == 4:
        board[1][0] == "O"
    elif move == 6:
        board[1][2] == "O"
    elif move == 7:
        board[2][0] == "O"
    elif move == 8:
        board[2][1] == "O"
    elif move == 9:
        board[2][2] == "O"

    break