[英]TypeError: 'NoneType' object is not callable but object is not nonetype
def winner(board):
WAYS_TOWIN = ((0, 1, 2),
(3, 4, 5),
(6, 7, 8),
(0, 4, 8),
(2, 4, 6),
(0, 3, 6),
(1, 4, 7),
(2, 5, 8))
for row in WAYS_TOWIN:
if board[row[0]] == board[row[1]] == board[row[2]] != " ":
winner = board[row[0]]
return winner
if " " not in board:
return TIE
else:
return None
#Main
instructions()
human = input("Enter your name: "); print("\n")
pieces = who_first(human, computer); print("\n")#pieces becomes a list with human piece first and computer piece second
board = new_board(); print("\n")
winner = winner(board)
while winner == None and winner != TIE:
if turn == pieces[0]:#if human is first
winner = winner(board)
当我第一次运行Winner函数时,它没有返回到Winner变量,也没有错误。 但是当我第二次运行它时,它给我TypeError:'NoneType'对象不可调用。 板子是带有[“”] * 9的列表,我不明白为什么第二次调用板子是无类型对象。
第一次运行winner = winner(board)
Winner变为None
因此在第二次调用时未调用该函数,但因此None
Error。 更改名称将解决问题,不建议使用相同的变量名和函数名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.