如何填充输出(打印,.format等)

时间:2015-01-02 07:21:57

标签: python

我正在尝试在程序中实现类似以下内容。

假设我有以下代码:

for i in range(20, -1, -1):
    print(str(i) + "|")

输出如下:

20|
19|
...etc
5|
4|
...etc

|始终打印在数字后面,但我希望|在打印时对齐,以便我的输出如下所示:

20|
19|
...etc
5 | <--Notice a space after single digit
4 |
...etc

我尝试了使用print.format的各种方法,但我无法解决这个问题。

3 个答案:

答案 0 :(得分:2)

>>> for i in range(20, -1, -1):
    print('{:<2}|'.format(i))


20|
19|
18|
17|
16|
15|
14|
13|
12|
11|
10|
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |

<表示左对齐。 2可以更改为您需要的许多内容。

答案 1 :(得分:1)

尝试使用此方法:

for i in range(20, -1, -1):
    print('{:>5}'.format(str(i)+'|'))

进一步参考@ https://docs.python.org/2/library/string.html#formatstrings

答案 2 :(得分:-1)

也工作:

for i in range(20, -1, -1):
    print(str(i).rjust(width) + "|")

输出:

20|
19|
18|
17|
16|
15|
14|
13|
12|
11|
10|
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |