如果是一个数字,只打印1个空格?

时间:2015-03-12 04:59:37

标签: python printing

我打印一个整数,可能是1或2位数。
我正在使用:

print str(myInt)

但是,我希望它始终打印出2'空格'长。如果myInt只有1位数,那么我希望用空格填充然后打印出数字。 有一个简单的方法吗? 我想要的样本输出:

 1
15
20
 3

4 个答案:

答案 0 :(得分:6)

>>> print '{:2}'.format(1)
 1
>>> print '{:2}'.format(23)
23

答案 1 :(得分:0)

import re
x=[1,15,20,3]
print [re.sub(r"^0"," ",str(i).zfill(2)) for i  in x]

输出:[' 1', '15', '20', ' 3']

做一件简单易事的艰难方法:P

答案 2 :(得分:0)

您可以通过执行以下操作来实现所需的输出:

print "%2s" % num

2是最小字段宽度。例如:

print "%2s" % 4
print "%2s" % 12

将导致:

 4
12

如果您需要更多前导空格,则只需将2中的%2s替换为适当的最小字段宽度即可。我建议您阅读String Formatting Operations文档。

答案 3 :(得分:0)

在这里,您不需要将Integer转换为String。

val = 10
val1 = 1
print "%2d" % val
print "%2d" % val1

输出:

10
 1