7

国に関する情報を表形式で表示するプログラムを作成しています。3 つの国がある場合は問題なく動作しましたが、それを 10 に変更すると (それに応じて必要なすべてのコードを調整すると)、次の行に「Tuple index out of range」というエラーが発生しました。

print("{0:^20}{1:^20}{2:^20}{3:^20}{4:^20}{5:^20}[6:^20}{7:^20}{8:^20}{9:^20}".format(newcountrylist[i].country,newcountrylist[i].currency,newcountrylist[i].exchange))
4

2 に答える 2

10

フォーマット スロットに一致する数の引数を渡す必要があります。フォーマット文字列には 10 個のスロットがありますが、3 つの値しか渡していません。

への引数が 3 つだけの 4 つのフォーマット スロットに減らすと.format()、同じエラーが表示されます。

>>> '{0:^20}{1:^20}{2:^20}{3:^20}'.format(1, 2, 3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: tuple index out of range
>>> '{0:^20}{1:^20}{2:^20}{3:^20}'.format(1, 2, 3, 4)
'         1                   2                   3                   4          '

4 つの引数を渡すと、.format()呼び出しは成功します。

于 2012-12-16T16:59:24.183 に答える