TypeError:Python 3.2中的'int'对象不可调用'?

Ali*_*wis 2 python pygame input typeerror tic-tac-toe

所以我在python 3.2中编写了一个tic tac toe游戏,我花了一天一天的时间试图解决这个问题,并检查我的代码,脚本或任何你想要调用它的东西,这么多次仍然无法找到它.我用谷歌搜索了所有答案都令人困惑,或者这个人的脚本与我的tic tac toe游戏有所不同.请注意,我只是python的初学者.当我尝试运行它时出现错误:

Traceback (most recent call last):
  File "/Users/user/Desktop/tic tac toe game.py", line 41, in <module>
    input = input("Select a spot:")
TypeError: 'int' object is not callable"
Run Code Online (Sandbox Code Playgroud)

那是什么意思?这是代码,它说它有问题:

while True:

    input = input("Select a spot:")
    input = int(input)
Run Code Online (Sandbox Code Playgroud)

如果你能帮助我,那就意味着很多.它一直很烦人,我一直在努力解决它.

Lev*_*von 9

输入()是一个Python函数,并且使用的是它作为函数和标识符.

使用input作为变量名称将在第一次使用,但是第二次通过循环将不再有input()函数,因为该名称现在与整数变量相关联.

因此,input()您只需要一个名为变量的函数,而不是函数input,因此出现错误(也可以在评论中提到@poke和@DSM)

使用answer作为您的变量名称将是一个更好的主意:

while True:
    answer = input("Select a spot:")
    answer = int(answer)
Run Code Online (Sandbox Code Playgroud)

  • @martineau这是因为赋值是循环的.第一次迭代将顺利进行,但在第二次迭代中,`input`不再可调用. (4认同)

Mar*_*som 5

您正在使用input结果的名称,它替换了input您尝试调用的函数。使用不同的名称。

编辑:当您循环时,到第二次迭代滚动时,您已将变量input重新绑定到用户输入,因此它不再是内置函数,而是您刚刚将用户输入转换为的整数。该名称input不能同时指代两个不同的事物。