我使用指定的错误代码收到此错误:
print str(i+1)+". Horse number "+str(winners[i])+" - "+str(odds(winners[i]))
TypeError: 'list' object is not callable
我相信这可能是由其中一个物体的印刷引起的。谢谢!
我使用指定的错误代码收到此错误:
print str(i+1)+". Horse number "+str(winners[i])+" - "+str(odds(winners[i]))
TypeError: 'list' object is not callable
我相信这可能是由其中一个物体的印刷引起的。谢谢!
这将是两个问题之一;我们必须在这里猜测,因为您还没有发布任何代码。
你有一个局部变量str
,它是一个列表。在代码中重命名该变量,它掩盖了内置str
函数。
您有一个局部变量odds
,它是一个列表,并且您正试图将其用作函数。也许您也有一个名为 的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 文档。