如果是单个数字,则正好打印 1 space?
Printing with exactly 1 space if a single digit?
我正在打印一个整数,它可能有 1 位或 2 位数字长。
我正在使用:
print str(myInt)
但是,我希望它始终打印出 2 'spaces' 长的内容。如果 myInt 只有一位数字,那么我希望用 space 填充它然后打印出数字。
有没有一种简单的方法可以做到这一点?
我想要的示例输出:
1
15
20
3
>>> print '{:2}'.format(1)
1
>>> print '{:2}'.format(23)
23
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
您可以通过以下方式获得所需的输出:
print "%2s" % num
其中 2
是最小字段宽度。例如:
print "%2s" % 4
print "%2s" % 12
将导致:
4
12
如果您需要更多前导空格,您只需将 %2s
中的 2
替换为适当的最小字段宽度。我建议您阅读 String Formatting Operations 文档。
在这里,您不需要将 Integer 转换为 String。
val = 10
val1 = 1
print "%2d" % val
print "%2d" % val1
输出:
10
1
我正在打印一个整数,它可能有 1 位或 2 位数字长。
我正在使用:
print str(myInt)
但是,我希望它始终打印出 2 'spaces' 长的内容。如果 myInt 只有一位数字,那么我希望用 space 填充它然后打印出数字。 有没有一种简单的方法可以做到这一点? 我想要的示例输出:
1
15
20
3
>>> print '{:2}'.format(1)
1
>>> print '{:2}'.format(23)
23
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
您可以通过以下方式获得所需的输出:
print "%2s" % num
其中 2
是最小字段宽度。例如:
print "%2s" % 4
print "%2s" % 12
将导致:
4
12
如果您需要更多前导空格,您只需将 %2s
中的 2
替换为适当的最小字段宽度。我建议您阅读 String Formatting Operations 文档。
在这里,您不需要将 Integer 转换为 String。
val = 10
val1 = 1
print "%2d" % val
print "%2d" % val1
输出:
10
1