0

所以我在制作井字游戏时遇到了多个问题,但我已经找到了大多数问题的解决方案。但现在的问题是我读错了

Traceback (most recent call last):
  File "/Users/user/Desktop/tic tac toe game.py", line 43, in <module>
    if board[input] != 'x' and board[input] !='o':
TypeError: list indices must be integers, not builtin_function_or_method" 

当我尝试运行它时。这是它遇到问题的代码:

if board[input] != 'x' and board[input] !='o':
        board[input] = 'x'

我不知道该怎么做,我喜欢在星期四刚开始使用 python 并且对它不是很聪明。但感谢所有的帮助(:哦,我有 python 3.2.

4

1 回答 1

2

看起来input这里不是整数,你在input()这里使用过,这是一个内置函数。也不要input用作变量名。

看到同样的错误:

>>> a=[1,2,3,4]
>>> a[input]

Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    a[input]
TypeError: list indices must be integers, not builtin_function_or_method

要解决它,请使用:

>>> Board=['a','x','o','b','c','d']
>>> n=input()#input returns a string,not integer
2
>>> if Board[int(n)]!='x' and Board[int(n)]!='o': #list expect  only integer indexes,convert n to integer first using
    Board[int(n)]='x'


>>> Board
['a', 'x', 'o', 'b', 'c', 'd']
于 2012-06-25T19:05:36.710 回答