2011-08-11 243 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