2017-08-05 22 views
0

C有printf("%Xd", Y);,它只是打印整數X並使其在控制檯窗口中佔用Y空間。如何打印一個具有一定數量的空格的整數?

例如:

printf("%3d", 10); 
console: " 10"` 

printf("%5d", 5); 
console: " 5" 

如何在Python 3使用?

+0

print('%10d'%20) – danche

+0

您可以在以下url中看到解決方案:https://stackoverflow.com/questions/12450704/how-to-print-spaces-in-python – Toandd

回答

1

這個print("{0:10d}".format(5))將在9個空白後打印5個。 有關Python中格式化的更多參考,請參閱this

0

我會做這樣的事情:

>>> print(10*' ',10) 
      10 
>>> print(5*' ',5) 
     5 
>>> x=5 
>>> print(x*' ',x) 
     5 
>>> 
0

使用ljustrjust

這些蟒蛇方法把它無論是在一個字符串,pad左側或右側,使其的chars一組號碼只要你想打印到控制檯。

舉個例子與.rjust

num = 1234 
chars = 9 
print(str(num).rjust(chars)) 

這將輸出:

"  1234" 

或使用.ljust會給你:

"1234  " 

有一點要注意的是,.ljust.rjust顯着不同在int之前或之後打印一組空格' ',因爲它們允許您指定總數字符串的長度而不是之前的空白。例如在使用這些方法打印表格時,這是一個關鍵的事情,可以使設置爲寬度使其整齊。而簡單地增加空間預先將導致不同寬度作爲對integersdigits會改變使總長度來改變使寬度變化的數量。

當然,如果你願意,你仍然可以指定字符串的長度,然後計算出有多少空間需要之前放置或int之後。

所以.rjust可能是這樣的:

num = 1234 
chars = 9 
print(' ' * (chars - len(str(num))) + str(num)) 

注意到,在這裏,我有級聯num作爲字符串到與+空白,而不是在打印語句作爲逗號用逗號將在兩者之間增加一個空間。

.ljust將是相同的,但num第一印刷:

print(str(num) + ' ' * (chars - len(str(num)))) 

然而,所有這些工作是不必要的,看起來非常凌亂考慮你可以使用原來的兩個內置的Python方法:)

0

你可以試試這個

x = " " 
y = 10 
print((x*5), y) 

而且你的輸出就會

 10 

將x指定給一個帶有空格的字符串,然後在打印時,只需將字符串與空格相乘y之前所需的空格數。

相關問題