我得到这个错误与指定的错误代码:错误与Python代码2.7.3
print str(i+1)+". Horse number "+str(winners[i])+" - "+str(odds(winners[i]))
TypeError: 'list' object is not callable
我相信它可以通过对象之一的印刷造成的。谢谢!
我得到这个错误与指定的错误代码:错误与Python代码2.7.3
print str(i+1)+". Horse number "+str(winners[i])+" - "+str(odds(winners[i]))
TypeError: 'list' object is not callable
我相信它可以通过对象之一的印刷造成的。谢谢!
这将是两个问题之一;我们必须在这里猜测,因为你还没有发布任何代码。
您有一个本地变量str
这是一个列表。重命名你的代码中的变量,它掩盖了内置的str
函数。
您有一个本地变量odds
这是一个列表,并且您试图将其用作函数。也许你有一个名为odds
以及的函数。在这种情况下,重命名变量。
它可能不是'str'。虽然诊断是正确的。 –
@ IgnacioVazquez-Abrams:我错过了'odds()'调用,谢谢。 –
你可能已经知道了你自己。 str
或odds
,可能是后者,是一个列表,您错误地尝试使用()
而不是[]
来索引它。而不是尝试以下操作:
print str(i+1)+". Horse number "+str(winners[i])+" - "+str(odds[winners[i]])
,或者甚至更好,在Python版本> = 2.6:
print '{}. Horse number {} - {}'.format(i+1,winners[i],odds[winners[i]])
更多信息,请参见Python Doc。
不需要依赖信仰。在违规行之前加上'print locals()',看看它说什么。 – georg
“赔率”是一个列表吗? – Keith