Python Code 2.7.3出错

时间:2012-10-20 16:02:49

标签: python

我在指定错误的代码中收到此错误:

print str(i+1)+". Horse number "+str(winners[i])+" - "+str(odds(winners[i]))
TypeError: 'list' object is not callable

我相信它可能是由其中一个物体的印刷引起的。谢谢!

2 个答案:

答案 0 :(得分:2)

这将是两个问题之一;我们必须在这里猜测,因为你没有发布任何代码。

  1. 您有一个本地变量str,这是一个列表。在代码中重命名该变量,它掩盖了内置的str函数。

  2. 您有一个本地变量odds这是一个列表,您正在尝试将其用作函数。也许你有一个名为odds 的函数。在这种情况下,重命名变量。

答案 1 :(得分:0)

你可能已经自己弄明白了。 strodds,可能是后者,是一个列表,您错误地尝试使用()而不是[]对其进行索引。请尝试以下方法:

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