python - 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')
解决方案
你的问题出在这里:
check(dboard,'X')
dboard 是一个函数,而不是引用当前板的变量。您可以使用这样的功能来测试您的测试板。
check(testboard,'X')
推荐阅读
- ansible - 将 Ansible 对象列表缩减为串联对象值的单个字符串
- php - PHP关联数组获取数组ID
- plotly-dash - 仪表板应用程序中是否可以有外部(非仪表板)按钮回调?
- delphi - 我应该使用临界区还是同步/队列来修改类数据成员?
- node.js - 为什么我在使用 puppeteer 设置 userAgent 时没有得到移动调整响应?
- ruby-on-rails - 在 mac mojave 上安装旧版本的 therubyracer(v0.9.10) gem
- scala - 如何安全地将凭据传递给激活器命令
- json - 如何通过 get_url 模块使用来自 json 格式答案的 url?
- user-interface - 光标在屏幕上的移动是图形转换的结果吗?
- kubernetes - Kubernetes 示例说明中 Hostpath 卷的快照