如何打印一个具有一定数量的空格的整数?
问题描述:
C有printf("%Xd", Y);
,它只是打印整数X并使其在控制台窗口中占用Y空间。如何打印一个具有一定数量的空格的整数?
例如:
printf("%3d", 10);
console: " 10"`
printf("%5d", 5);
console: " 5"
如何在Python 3使用?
答
我会做这样的事情:
>>> print(10*' ',10)
10
>>> print(5*' ',5)
5
>>> x=5
>>> print(x*' ',x)
5
>>>
答
使用ljust或rjust:
这些蟒蛇方法把它无论是在一个字符串,pad
左侧或右侧,使其的chars
一组号码只要你想打印到控制台。
举个例子与.rjust
:
num = 1234
chars = 9
print(str(num).rjust(chars))
这将输出:
" 1234"
或使用.ljust
会给你:
"1234 "
有一点要注意的是,.ljust
和.rjust
显着不同在int
之前或之后打印一组空格' '
,因为它们允许您指定总数字符串的长度而不是之前的空白。例如在使用这些方法打印表格时,这是一个关键的事情,可以使列设置为宽度使其整齐。而简单地增加空间预先将导致不同宽度作为对integers
的digits
会改变使总串长度来改变使宽度变化的数量。
当然,如果你愿意,你仍然可以指定总字符串的长度,然后计算出有多少空间需要之前放置或int
之后。
所以.rjust
可能是这样的:
num = 1234
chars = 9
print(' ' * (chars - len(str(num))) + str(num))
注意到,在这里,我有级联的num
作为字符串到与+
空白,而不是在打印语句作为逗号用逗号将在两者之间增加一个空间。
和.ljust
将是相同的,但num
第一印刷:
print(str(num) + ' ' * (chars - len(str(num))))
然而,所有这些工作是不必要的,看起来非常凌乱考虑你可以使用原来的两个内置的Python方法:)
答
你可以试试这个
x = " "
y = 10
print((x*5), y)
而且你的输出就会
10
将x指定给一个带有空格的字符串,然后在打印时,只需将字符串与空格相乘y之前所需的空格数。
print('%10d'%20) – danche
您可以在以下url中看到解决方案:https://stackoverflow.com/questions/12450704/how-to-print-spaces-in-python – Toandd