2015-12-22 205 views
-7

我搜索了在Python中創建對齊的字符串,發現了一些相關的東西,但沒有爲我工作。這裏有一個例子:在Python中對齊字符串

for line in [[1, 128, 1298039], [123388, 0, 2]]: 
    print('{:>8} {:>8} {:>8}'.format(*line)) 

輸出:

 1  128 1298039 
    123388  0  2 

這是我在shell看到:

Shell screenshot

正如你所看到的,定位並沒有發生。使用\t時出現同樣的問題。 我能做些什麼來以整齊的表格格式對齊字符串?

回答

3

您已將IDLE外殼配置爲使用比例字體,對不同字符使用不同寬度的字體。請注意,()對與其上面的>字符的水平空間幾乎相同。

你的代碼是完全正確的;用固定寬度的字體正確排列。

改用固定寬度代替字體。 Courier是一個很好的默認選擇,但Windows安裝的其他各種字體都是成比例的,包括Consolas。

配置選項 - >配置IDLE菜單中的字體。從Font Face列表中選取不同的字體。在下面的面板中的示例字符應該排隊(除了第二行k最後,它應該伸出)。

+0

Thanks @MartijnPeters。是否有其他固定寬度的字體可用? –

+1

@SamChats:很多。他們也被稱爲「等寬」,在谷歌搜索更多。關於我的頭頂:Lucida Sans Typewriter,摩納哥,Andale Mono,Menlo,Courier,Courier New,PT Mono,Bitstream Vera Sans Mono等等。 –