我在指定错误的代码中收到此错误:
print str(i+1)+". Horse number "+str(winners[i])+" - "+str(odds(winners[i]))
TypeError: 'list' object is not callable
我相信它可能是由其中一个物体的印刷引起的。谢谢!
答案 0 :(得分:2)
这将是两个问题之一;我们必须在这里猜测,因为你没有发布任何代码。
您有一个本地变量str
,这是一个列表。在代码中重命名该变量,它掩盖了内置的str
函数。
您有一个本地变量odds
这是一个列表,您正在尝试将其用作函数。也许你有一个名为odds
的函数。在这种情况下,重命名变量。
答案 1 :(得分:0)
你可能已经自己弄明白了。 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。