如何填充输出(打印、.format 等)
How to pad output (print, .format, etc)
我正在尝试在程序中实现如下内容。
假设我有以下代码:
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
的方法,但我无法解决这个问题。
>>> 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
可以根据需要改成多少。
试试这个方法:
for i in range(20, -1, -1):
print('{:>5}'.format(str(i)+'|'))
进一步参考@https://docs.python.org/2/library/string.html#formatstrings
也在工作:
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 |
我正在尝试在程序中实现如下内容。
假设我有以下代码:
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
的方法,但我无法解决这个问题。
>>> 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
可以根据需要改成多少。
试试这个方法:
for i in range(20, -1, -1):
print('{:>5}'.format(str(i)+'|'))
进一步参考@https://docs.python.org/2/library/string.html#formatstrings
也在工作:
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 |