2016-12-05 89 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