2011-08-11 245 views
1

我试图做一个简单的布局是这样的:格式化字符串

--------- 
-  - 
- ABC - 
-  - 
--------- 

我已经尝试了两种方法,但失败: 第1种方法:将光标移动到合适的位置,但我似乎无法把第二条垂直线,我想它:

# making first horizontal linefrom position 00 
    string_line = "-"*width    
    position00 = 0 
    self.summarylines.append(string_line.ljust(position00)) 

    # making first vertical line from position 00 
    for i in range(height): 
      self.summarylines.append('-') 

    # making second horizontal line from position V0 
    poistion0V=position00+height   
    self.summarylines.append(string_line.ljust(poistion0V)) 

    # making second vertical line from position H0 
    positionH0 = position00+width 
    for i in range(height): 
      self.summarylines.append('-'.ljust(positionH0)) 

第二个方法:是通过它们之间添加空间添加在同一时间两个垂直线:

# making first horizontal linefrom position 00 
    string_line = "-"*width    
    position00 = 0 
    self.summarylines.append(string_line.ljust(position00)) 

    # making first and second vertical line from position 00 + H0 
    for i in range(height): 
      self.summarylines.append('- -') 

    # making second horizontal line from position V0 
    poistion0V=position00+height   
    self.summarylines.append(string_line.ljust(poistion0V)) 

然而,对于这种情况下,我不知道它是如何可以添加恰到好处的空间,是大如水平线的widht。 无论哪种方式,我还没有做出任何一方的工作suceeded。 在此先感谢。

回答

3
>>> foo = 'ABC' 
>>> head = ['-' * (len(foo)+6), '-%s-' % (' '*(len(foo)+4))] 
>>> print '\n'.join(head + ['- %s -' % foo] + head[::-1]) 
--------- 
-  - 
- ABC - 
-  - 
--------- 
+0

好的!教我一个关于过度问题的教训......你的3条线我的20!谢谢! – caran