1

画面に印刷する出力をフォーマットしようとしています。これが私のコードです:

someString = someList[someIndex] +  '{0:<8}'.format('\t') + someList[someOtherIndex]
print someString

私の期待される出力:

abcdefghi someOutput
abcde someOtherOutput

**また**
abcdefghi someOutput
abcde someOtherOutput

私が得る実際の出力:

abcdefghi someOutput
abcde someOtherOutput

Q.1: 期待した出力が得られないのはなぜですか? 具体的には、なぜ 2 列目のエントリがずれているのですか?
Q.2: 期待どおりの出力を得るには、コードの何を変更すればよいですか?

追加情報: Python 2.6 を使用しています

どんな助けにも感謝します。

4

1 に答える 1

5

印刷する最初の文字列に「塗りつぶし」を適用して、2番目の文字列を常に同じポイントに「プッシュ」する必要があります。

someString = '{0:<16}{1}'.format(someList[someIndex], someList[someOtherIndex])

ただし、必要な塗りつぶしが、印刷する必要のある最初の最長の単語よりも大きいことを確認してください。

以前行っていたのは、最初の単語を印刷し、次に'\ t'を塗りつぶし(常に同じ)で印刷し、最後に2番目の単語を印刷することです。

于 2012-07-27T18:32:44.313 に答える