我一直在做一个tic-tac-toe赋值,这是我在以下代码中遇到的错误('function'对象在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')
没有什么可下标的
dboard
只是一个函数您需要将测试板列表传递到函数
check(testboard, 'X')
,而不是dboard函数。列表是可下标的,它是您要下标的列表你的问题在于:
dboard是一个函数,而不是引用当前板的变量。您可以改为使用这样的函数测试测试板
相关问题 更多 >
编程相关推荐