我目前正在编写一个交易游戏,用户可以连接到服务器,然后相互交易并赚钱,等等。 但是当我尝试
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)内置名称的另一个原因。
