Не могу понять почему код не работает

Пишет, что ошибка в функции isSpaceFree, но в чем ошибка вообще не понятно.Я несколько раз переписывал функцию по другому, но ничего не меняется. Вот весь код:

import random


def drowBoard (board):

    print(board[7] + '|' + board[8] + '|' + board[9])
    print('-+-+-')
    print(board[4] + '|' + board[5] + '|' + board[6])
    print('-+-+-')
    print(board[1] + '|' + board[2] + '|' + board[3])

def inputPlayerletter ():

    letter = ""

    while not (letter == 'X' or letter == 'O'):
        letter = input('Выбирете Х или О: ').upper()

    if letter == 'X':
        return ['X', 'O']

    else:
        return ['O', 'X']

def whoGoesFirst ():

    who = random.randint(0, 1)

    if who == 0:
        return 'человек'
    else:
        return 'компьютер'

def makeMove (board, letter, move):

    board[move] = letter

def isWinner (bo, le):

    return ((bo[7] == le and bo[8] == le and bo[9] == le) or
    (bo[4] == le and bo[5] == le and bo[6] == le) or
    (bo[1] == le and bo[2] == le and bo[3] == le) or
    (bo[7] == le and bo[4] == le and bo[1] == le) or
    (bo[8] == le and bo[5] == le and bo[2] == le) or
    (bo[9] == le and bo[6] == le and bo[3] == le) or
    (bo[7] == le and bo[5] == le and bo[3] == le) or
    (bo[9] == le and bo[5] == le and bo[1] == le))

def getBoardCopy (board):

    boardCopy = []

    for i in board:
        boardCopy.append(i)

    return boardCopy

def isSpaceFree (board, move):

    return board[move] == " "

def getPlayerMove (board):

    move = ''

    while move not in "1 2 3 4 5 6 7 8 9".split() or not isSpaceFree(board, int(move)) :
        move = input('Куда хотите походить ? (1-9) ')

    return int(move)

def chooseRandomMoveFromList (board, moveList):

    posibleMove = []

    for i in board:

        if isSpaceFree(board, i):
            posibleMove.append(i)

    if len(posibleMove) != 0:
        return random.choice(posibleMove)
    else:
        return None

def getCamputerMove(board, computerLetter ):

    if computerLetter == 'X':
        playerLetter = 'O'

    else:
        playerLetter = 'X'

    for i in range(1, 10):
        boardCopy = getBoardCopy(board)

        if isSpaceFree(boardCopy, i):
            makeMove(boardCopy, computerLetter, i)

            if isWinner(boardCopy, computerLetter):
                return i

    for i in range(1, 10):
        boardCopy = getBoardCopy(board)

        if isSpaceFree(boardCopy, i):
            makeMove(boardCopy, playerLetter, i)

            if isWinner(boardCopy, playerLetter):
                return i

    move = chooseRandomMoveFromList(boardCopy, [1, 7, 9, 3])

    if move != None:
        return move

    if isSpaceFree(boardCopy, 5):
        return 5

    return chooseRandomMoveFromList(boardCopy, [4, 8, 6, 2])

def isBoardFull(board):

    for i in board:
        if isSpaceFree(board, i):
            return False

    return True


print("Игра 'Крестики-нолики' !")

while True:
    theBoard = [' '] * 10

    playerLetter, computerLetter = inputPlayerletter()
    turn = whoGoesFirst()
    gameIsPlaying = True

    print('' + turn + 'ходит первым')

    while gameIsPlaying:

        if turn == 'человек':
            drowBoard(theBoard)
            move = getPlayerMove(theBoard)
            makeMove(theBoard, playerLetter, move)

            if isWinner(theBoard, playerLetter):
                drowBoard(theBoard)
                print("Ура, вы победили !")
                gameIsPlaying = False

            else:
                if isBoardFull(theBoard):
                    drowBoard(theBoard)
                    print('Ничья')
                    break

                else:
                    turn = 'компьютер'

        else:
            drowBoard(theBoard)
            move = getCamputerMove(theBoard, computerLetter)
            makeMove(theBoard, computerLetter, move)

            if isWinner(theBoard, computerLetter):
                drowBoard(theBoard)
                print("Вы проиграли !")
                gameIsPlaying = False

            else:
                if isBoardFull(theBoard):
                    drowBoard(theBoard)
                    print('Ничья')
                    break

                else:
                    turn = 'человек'

    print("Сыграем еще раз ? (да / нет) ")

    if not input.lower().startswith('д'):
        break

Ответы (0 шт):