2014-11-23 65 views
-1

我正在尝试使格式字符串做如下所示的操作。使格式字符串在字符后对齐整数

I lost 10 turtles  Total: 20 Turtles 
I lost 5 turtles  Total: 15 Turtles 

我想出了这个字符串"I lost {:>2} {:<13}Total:{:<}".format(10,"turtles",20)反正是有摆脱{:<13}[,"turtles"],但仍产生相同的结果?

+0

它很清楚只需更换'{:<13 }'用'海龟'你想要这个吗? – Kasramvd 2014-11-23 14:03:55

+0

我也认为这是要做的事情,但是这样做时对齐不统一。这是需要的{:<13}',我想要的是第一个整数具有它自己的类型,海龟。 – Emilgardis 2014-11-23 14:07:47

+0

''我输了{:<13}总数:{:<}“。格式(”10个海龟“,”20个海龟“)''? – Kasramvd 2014-11-23 14:13:09

回答

0

turtles格式字符串中:

>>> "I lost {:>2} {:<13}Total:{:<}".format(10, "turtles", 20) 
'I lost 10 turtles  Total:20' 
>>> "I lost {:>2} turtles  Total:{:<}".format(10, 20) # <-------- 
'I lost 10 turtles  Total:20' 

>>> "I lost {:>2} {:<13}Total:{:<} Turtles".format(10, "turtles", 20) 
'I lost 10 turtles  Total:20 Turtles' 
>>> "I lost {:>2} turtles  Total:{:<} Turtles".format(10, 20) # <-------- 
'I lost 10 turtles  Total:20 Turtles' 
+0

这正是我目前正在做的问题是如果有反正删除它。我觉得格式化程序不需要替换总是会是相同的东西。 – Emilgardis 2014-11-23 14:03:02

+0

@Emilgardis,见第二条和第四条代码行。 – falsetru 2014-11-23 14:05:36

+0

是的,它可以工作,但它确实看起来像一个相当愚蠢的解决方案(就像你自己把空间) – Emilgardis 2014-11-23 14:10:17

0

你看这个?

>>> "I lost {:<20} Total:{:<}".format("10 turtles","20 turtles") 
'I lost 10 turtles   Total:20 turtles' 

或功能:

>>> def formater(i,j): 
... return "I lost {:<20} Total:{:<}".format("{} turtles".format(i),"{} Turtles".format(j)) 
... 
>>> formater(10,20) 
'I lost 10 turtles   Total:20 Turtles' 
+0

如果第一个格式(长句子)的第一个字符串的第一个格式是“”{ :2}海龟“'。 – Emilgardis 2014-11-23 14:25:49