0

エラーが指定されたコードでこのエラーが発生します:

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

いずれかのオブジェクトの印刷が原因である可能性があります。ありがとうございました!

4

2 に答える 2

2

これは2つの問題のうちの1つになります。コードを投稿していないので、ここで推測する必要があります。

  1. リストであるローカル変数strがあります。コード内でその変数の名前を変更すると、組み込みstr関数がマスクされます。

  2. リストであるローカル変数oddsがあり、それを関数として使用しようとしています。おそらく、あなたもという名前の関数を持っていodds ます。その場合は、変数の名前を変更してください。

于 2012-10-20T16:04:33.370 に答える
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を参照してください。

于 2012-10-20T16:14:34.540 に答える