Skip to main content
 首页 » 编程设计

Python 'str' 对象不可调用 Python 2.7.3

2025年05月04日11thcjp

我目前正在编写一个交易游戏,用户可以连接到服务器,然后相互交易并赚钱,等等。 但是当我尝试

if(input.lower() == 'sell'): 
        sMaterial = raw_input('Material: ') 
        if(sMaterial.lower() == 'gold'): 
            sAmount = int(input('Enter amount: ')) 
            if(gold >= sAmount): 
                mon = mon + (100 * sAmount) 
            else: 
                print 'You do not have enough', sMaterial 

它抛出错误

> sell 
Material: gold 
Traceback (most recent call last): 
  File "Test.py", line 119, in <module> 
    sAmount = int(input('Enter amount: ')) 
TypeError: 'str' object is not callable 

我正在使用 Linux,Python 版本 2.7.3,以及 Geany 开发环境。 提前致谢。

请您参考如下方法:

这一行:

if(input.lower() == 'sell'): 

告诉我你一定在某个时候将名称 input 绑定(bind)到一个字符串。所以当你打电话时

sAmount = int(input('Enter amount: ')) 

您正在尝试将参数 'Enter amount: ' 传递给 string input,因此:TypeError: ' str' 对象不可调用。由于看起来您正在使用 Python 2,因此您可能应该使用 raw_input 无论如何,但这是不重新绑定(bind)内置名称的另一个原因。