2016-12-05 90 views
0

我有一個特定的字典鍵和它的值,我希望以某種方式打印出一個字符串。密鑰和其值是:在小數點後面加零點

'HUF': (315.89, 307.09) 

和期望的輸出是:

HUF....315.8900....307.0900 

到目前爲止,我已經使用以下代碼:

'{i:.<8}{e[0]:.<3f}{e[1]:.>12}'.format(i=i, e=e) 

,其中 「i」 表示鍵和「e [0]」和「e [1]」表示值。但是,當我運行這段代碼的輸出是:

HUF.....315.890000......307.09 

有什麼辦法來打印無兩個加零的第一個數字?

回答

1

考慮:

>>> i='HUF' 
>>> e=(315.89, 307.09) 

嘗試:

>>> '{i:.<8}{e[0]:.<.04f}{e[1]:.>12.04f}'.format(i=i, e=e) 
'HUF.....315.8900....307.0900' 

您還可以分出字段寬度從浮格式化,像這樣的格式:

>>> '{:.<8}{:.<s}{:.>12}'.format(i, *[format(x, '.04f') for x in e]) 
'HUF.....315.8900....307.0900' 
+0

非常感謝你。但是你的代碼還會在第二個數字中附加兩個零。 – bananamanana

+0

您已將'HUF .... 315.8900 .... 307.0900'發佈爲期望的輸出。什麼是期望的輸出? – dawg

+0

哦,我很抱歉。您的代碼完美無缺:) – bananamanana