2013-10-03 22 views
0

我有一個代碼,其中的放出來應該是這樣的:蟒蛇3串格式(對齊)

hello 3454 
    nice  222 
    bye 45433 
    well 3424 

對齊和右對齊是給我的問題。 我在我的字符串{0:> 7}中試過這個,但是隻有具有特定數量的數字的數字纔是正確的。其他有些數字或多或少的數字會變得混亂。理解它們爲什麼會搞砸是非常明顯的,但我無法找到解決方案。我不願意使用常量和if語句,只是爲了這樣一個小問題。有任何想法嗎?

+0

你可以發佈代碼嗎? – Alvaro

+0

抱歉..分配代碼。我們不允許發佈。 – amin

+0

我相信你也不允許要求分配答案。 – sPaz

回答

3

你可以嘗試:

"{:>10d}".format(n)其中n是一個int墊左數和

"{:>10s}".format(s),其中s是一個字符串墊左弦

編輯:選擇10是任意..我會建議首先確定最大長度。

但我不知道這是你想要的.. 不管怎麼說,這個環節包含字符串格式化的一些信息:

String formatting

你可以試試這個:

def align(word, number): 
    return "{:<10s}{:>10d}".format(word, number) 

這將用10個空格填充您的字符串,然後用10個空格填充您的數字,從而得到期望的結果 例如:

align('Hello', 3454) 
align('nice', 222) 
align('bye', 45433) 
align('well', 3424) 
+0

我試過了,但它給了我相同的輸出。 python中的這個對齊系統如何工作? – amin

+0

試試我添加的最後一個代碼 – Alvaro

+0

謝謝隊友。工作 – amin