首页 > 解决方案 > Python 中的类型错误:'function' 对象在 Python 中不可支持

问题描述

我一直在进行井字游戏分配,这是我为以下代码得到的错误(“函数”对象在 Python 中不可订阅):

testboard = ['0','X','O','X','O','X','O','X','O','X']
def dboard(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 choose():
    marker = ''
    while marker != 'X' and marker != 'O':
        marker = input('Player 1! Choose X or O ').upper()
    if marker == 'X':
        return ('X','O')
    else:
        return ('O','X')
def place(board,mark,position):
    board[position]=mark
def check(board,mark):
    if(board[7] == board[8] == board[9] == mark) or (board[1] == board[2] == board[3] == mark) or (board[4] == board[5] == board[6] == mark):
        return 'All rows are equal. You Win!'
    else:
        return 'Losers! Continue please' 

dboard(testboard)
check(dboard,'X')

标签: pythonpython-3.xfunctiontypeerror

解决方案


你的问题出在这里:

check(dboard,'X')

dboard 是一个函数,而不是引用当前板的变量。您可以使用这样的功能来测试您的测试板。

check(testboard,'X')

推荐阅读